/**
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

 /**
 * @addtogroup ANI
 * @{
 * 
 * @brief 定义ArkTS 1.2原生模块的原生API。
 * 
 * 通过API接口为开发者提供独立、标准、完整的ANI(ArkTS Native Interface)功能，
 * 实现ArkTS/C++的跨语言调用等。
 *
 * @since 22
 */

/**
 * @file ani.h
 * 
 * @brief 定义ArkTS 1.2原生模块的原生API。
 * 
 * 通过API接口为开发者提供独立、标准、完整的ANI(ArkTS Native Interface)功能，
 * 实现ArkTS/C++的跨语言调用等。
 * @kit ArkTS
 * @library
 * @include <ani/ani.h>
 * @syscap SystemCapability.ArkCompiler.ANI
 * @since 22
 * @version 1.0
 */

#ifndef __ANI_H__
#define __ANI_H__
// NOLINTBEGIN

#ifdef __cplusplus
#include <cstdarg>
#include <cstddef>
#include <cstdint>
#else
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#endif

/**
 * @brief ANI版本号。
 *
 * @since 22
 */
#define ANI_VERSION_1 1
/**
 * @brief ANI布尔值，“假”。
 *
 * @since 22
 */
#define ANI_FALSE 0
/**
 * @brief ANI布尔值，“真”。
 *
 * @since 22
 */
#define ANI_TRUE 1

/**
 * 日志级别'log_level'的取值。
 *
 * 日志接口：
 *   typedef void (*ani_logger)(FILE *stream, int log_level, const char *component, const char *message);
 *   ani_option:
 *     'option': "--logger"
 *     'extra': ani_logger
 */
/**
 * @brief 致命错误日志级别。
 *
 * @since 22
 */
#define ANI_LOGLEVEL_FATAL 0
/**
 * @brief 错误日志级别。
 *
 * @since 22
 */
#define ANI_LOGLEVEL_ERROR 1
/**
 * @brief 警告日志级别。
 *
 * @since 22
 */
#define ANI_LOGLEVEL_WARNING 2
/**
 * @brief 信息日志级别。
 *
 * @since 22
 */
#define ANI_LOGLEVEL_INFO 3
/**
 * @brief 调试日志级别。
 *
 * @since 22
 */
#define ANI_LOGLEVEL_DEBUG 4

/**
 * @brief 为size_t创建一个别名ani_size，用于表示ANI接口中涉及到大小的参数（如数组长度、字符串长度等）。
 *
 * @since 22
 */
typedef size_t ani_size;

// 基本数据类型：
/**
 * @brief 布尔型（1字节）。
 *
 * @since 22
 */
typedef uint8_t ani_boolean;
/**
 * @brief 字符型（2字节）。
 *
 * @since 22
 */
typedef uint16_t ani_char;
/**
 * @brief 字节型（1字节）。
 *
 * @since 22
 */
typedef int8_t ani_byte;
/**
 * @brief 短整型（2字节）。
 *
 * @since 22
 */
typedef int16_t ani_short;
/**
 * @brief 整型（4字节）。
 *
 * @since 22
 */
typedef int32_t ani_int;
/**
 * @brief 长整型（8字节）。
 *
 * @since 22
 */
typedef int64_t ani_long;
/**
 * @brief 单精度浮点型。
 *
 * @since 22
 */
typedef float ani_float;
/**
 * @brief 双精度浮点型。
 *
 * @since 22
 */
typedef double ani_double;

#ifdef __cplusplus 
// 引用类型：
/**
 * @brief 定义所有引用类型的基类。
 *
 * @since 22
 */
class __ani_ref {};

/**
 * @brief 定义对象类，继承自__ani_ref。
 *
 * @since 22
 */
class __ani_object : public __ani_ref {};

/**
 * @brief 定义函数对象类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_fn_object : public __ani_object {};

/**
 * @brief 定义枚举项类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_enum_item : public __ani_object {};

/**
 * @brief 定义错误类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_error : public __ani_object {};

/**
 * @brief 定义元组类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_tuple_value : public __ani_object {};

/**
 * @brief 定义数组缓冲区类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_arraybuffer : public __ani_object {};

/**
 * @brief 定义字符串类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_string : public __ani_object {};

/**
 * @brief 定义类型类（类/枚举等的共同基类），继承自__ani_object。
 *
 * @since 22
 */
class __ani_type : public __ani_object {};

/**
 * @brief 定义类类型，继承自__ani_type。
 *
 * @since 22
 */
class __ani_class : public __ani_type {};

/**
 * @brief 定义模块类，继承自__ani_class。
 *
 * @since 22
 */
class __ani_module : public __ani_class {};

/**
 * @brief 定义命名空间类，继承自__ani_class。
 *
 * @since 22
 */
class __ani_namespace : public __ani_class {};

/**
 * @brief 定义枚举类，继承自____ani_class。
 *
 * @since 22
 */
class __ani_enum : public __ani_class {};

/**
 * @brief 定义数组类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_array : public __ani_object {};

/**
 * @brief 定义定长数组基类，继承自__ani_object。
 *
 * @since 22
 */
class __ani_fixedarray : public __ani_object {};

/**
 * @brief 定义布尔型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_boolean : public __ani_fixedarray {};

/**
 * @brief 定义字符型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_char : public __ani_fixedarray {};

/**
 * @brief 定义字节型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_byte : public __ani_fixedarray {};

/**
 * @brief 定义短整型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_short : public __ani_fixedarray {};

/**
 * @brief 定义整型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_int : public __ani_fixedarray {};

/**
 * @brief 定义长整型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_long : public __ani_fixedarray {};

/**
 * @brief 定义单精度浮点型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_float : public __ani_fixedarray {};

/**
 * @brief 定义双精度浮点型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_double : public __ani_fixedarray {};

/**
 * @brief 定义引用型定长数组类，继承自__ani_fixedarray。
 *
 * @since 22
 */
class __ani_fixedarray_ref : public __ani_fixedarray {};

/**
 * @brief 定义ani_ref为指向__ani_ref的指针，用于表示ANI任意类型引用。
 *
 * @since 22
 */
typedef __ani_ref *ani_ref;

/**
 * @brief 定义ani_module为指向__ani_module的指针，用于表示ANI模块类引用。
 *
 * @since 22
 */
typedef __ani_module *ani_module;

/**
 * @brief 定义ani_namespace为指向__ani_namespace的指针，用于表示ANI命名空间类引用。
 *
 * @since 22
 */
typedef __ani_namespace *ani_namespace;

/**
 * @brief 定义ani_object为指向__ani_object的指针，用于表示ANI对象类引用。
 *
 * @since 22
 */
typedef __ani_object *ani_object;

/**
 * @brief 定义ani_fn_object为指向__ani_fn_object的指针，用于表示ANI函数对象类引用。
 *
 * @since 22
 */
typedef __ani_fn_object *ani_fn_object;

/**
 * @brief 定义ani_enum_item为指向__ani_enum_item的指针，用于表示ANI枚举项类引用。
 *
 * @since 22
 */
typedef __ani_enum_item *ani_enum_item;

/**
 * @brief 定义ani_error为指向__ani_error的指针，用于表示ANI错误类引用。
 *
 * @since 22
 */
typedef __ani_error *ani_error;

/**
 * @brief 定义ani_tuple_value为指向__ani_tuple_value的指针，用于表示ANI元组类引用。
 *
 * @since 22
 */
typedef __ani_tuple_value *ani_tuple_value;

/**
 * @brief 定义ani_type为指向__ani_type的指针，用于表示ANI类型类引用。
 *
 * @since 22
 */
typedef __ani_type *ani_type;

/**
 * @brief 定义ani_arraybuffer为指向__ani_arraybuffer的指针，用于表示ANI数组缓冲区类引用。
 *
 * @since 22
 */
typedef __ani_arraybuffer *ani_arraybuffer;

/**
 * @brief 定义ani_string为指向__ani_string的指针，用于表示ANI字符串类引用。
 *
 * @since 22
 */
typedef __ani_string *ani_string;

/**
 * @brief 定义ani_class为指向__ani_class的指针，用于表示ANI类类型引用。
 *
 * @since 22
 */
typedef __ani_class *ani_class;

/**
 * @brief 定义ani_enum为指向__ani_enum的指针，用于表示ANI枚举类引用。
 *
 * @since 22
 */
typedef __ani_enum *ani_enum;

/**
 * @brief 定义ani_array为指向__ani_array的指针，用于表示ANI数组类引用。
 *
 * @since 22
 */
typedef __ani_array *ani_array;

/**
 * @brief 定义ani_fixedarray为指向__ani_fixedarray的指针，用于表示ANI定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray *ani_fixedarray;

/**
 * @brief 定义ani_fixedarray_boolean为指向__ani_fixedarray_boolean的指针，用于表示ANI布尔型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_boolean *ani_fixedarray_boolean;

/**
 * @brief 定义ani_fixedarray_char为指向__ani_fixedarray_char的指针，用于表示ANI字符型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_char *ani_fixedarray_char;

/**
 * @brief 定义ani_fixedarray_byte为指向__ani_fixedarray_byte的指针，用于表示ANI字节型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_byte *ani_fixedarray_byte;

/**
 * @brief 定义ani_fixedarray_short为指向__ani_fixedarray_short的指针，用于表示ANI短整型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_short *ani_fixedarray_short;

/**
 * @brief 定义ani_fixedarray_int为指向__ani_fixedarray_int的指针，用于表示ANI整型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_int *ani_fixedarray_int;

/**
 * @brief 定义ani_fixedarray_long为指向__ani_fixedarray_long的指针，用于表示ANI长整型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_long *ani_fixedarray_long;

/**
 * @brief 定义ani_fixedarray_float为指向__ani_fixedarray_float的指针，用于表示ANI单精度浮点型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_float *ani_fixedarray_float;

/**
 * @brief 定义ani_fixedarray_double为指向__ani_fixedarray_double的指针，用于表示ANI双精度浮点型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_double *ani_fixedarray_double;

/**
 * @brief 定义ani_fixedarray_ref为指向__ani_fixedarray_ref的指针，用于表示ANI引用型定长数组类引用。
 *
 * @since 22
 */
typedef __ani_fixedarray_ref *ani_fixedarray_ref;
#else   // __cplusplus

/**
 * @brief 前向声明__ani_ref结构体。
 *
 * @since 22
 */
struct __ani_ref;
/**
 * @brief 定义ani_ref为指向__ani_ref结构体的指针，用于表示ANI任意类型引用。
 *
 * @since 22
 */
typedef struct __ani_ref *ani_ref;

/**
 * @brief 定义ani_object为ani_ref的别名，用于表示ANI对象类引用。
 *
 * @since 22
 */
typedef ani_ref ani_object;

/**
 * @brief 定义ani_fn_object为ani_object的别名，用于表示ANI函数对象类引用。
 *
 * @since 22
 */
typedef ani_object ani_fn_object;

/**
 * @brief 定义ani_enum_item为ani_object的别名，用于表示ANI枚举项类引用。
 *
 * @since 22
 */
typedef ani_object ani_enum_item;

/**
 * @brief 定义ani_error为ani_object的别名，用于表示ANI错误类用引用。
 *
 * @since 22
 */
typedef ani_object ani_error;

/**
 * @brief 定义ani_tuple_value为ani_object的别名，用于表示ANI元组类引用。
 *
 * @since 22
 */
typedef ani_object ani_tuple_value;

/**
 * @brief 定义ani_arraybuffer为ani_object的别名，用于表示ANI数组缓冲区类引用。
 *
 * @since 22
 */
typedef ani_object ani_arraybuffer;

/**
 * @brief 定义ani_string为ani_object的别名，用于表示ANI字符串类引用。
 *
 * @since 22
 */
typedef ani_object ani_string;

/**
 * @brief 定义ani_type为ani_object的别名，用于表示ANI类型类引用。
 *
 * @since 22
 */
typedef ani_object ani_type;

/**
 * @brief 定义ani_class为ani_type的别名，用于表示ANI类类型引用。
 *
 * @since 22
 */
typedef ani_type ani_class;

/**
 * @brief 定义ani_module为ani_class的别名，用于表示ANI模块类引用。
 *
 * @since 22
 */
typedef ani_class ani_module;

/**
 * @brief 定义ani_namespace为ani_class的别名，用于表示ANI命名空间类引用。
 *
 * @since 22
 */
typedef ani_class ani_namespace;

/**
 * @brief 定义ani_enum为ani_class的别名，用于表示ANI枚举类引用。
 *
 * @since 22
 */
typedef ani_class ani_enum;

/**
 * @brief 定义ani_array为ani_object的别名，用于表示ANI数组类引用。
 *
 * @since 22
 */
typedef ani_object ani_array;

/**
 * @brief 定义ani_fixedarray为ani_object的别名，用于表示ANI定长数组类引用。
 *
 * @since 22
 */
typedef ani_object ani_fixedarray;

/**
 * @brief 定义ani_fixedarray_boolean为ani_fixedarray的别名，用于表示ANI布尔型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_boolean;

/**
 * @brief 定义ani_fixedarray_char为ani_fixedarray的别名，用于表示ANI字符型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_char;

/**
 * @brief 定义ani_fixedarray_byte为ani_fixedarray的别名，用于表示ANI字节型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_byte;

/**
 * @brief 定义ani_fixedarray_short为ani_fixedarray的别名，用于表示ANI短整型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_short;

/**
 * @brief 定义ani_fixedarray_int为ani_fixedarray的别名，用于表示ANI整型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_int;

/**
 * @brief 定义ani_fixedarray_long为ani_fixedarray的别名，用于表示ANI长整型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_long;

/**
 * @brief 定义ani_fixedarray_float为ani_fixedarray的别名，用于表示ANI单精度浮点型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_float;

/**
 * @brief 定义ani_fixedarray_double为ani_fixedarray的别名，用于表示ANI双精度浮点型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_double;

/**
 * @brief 定义ani_fixedarray_ref为ani_fixedarray的别名，用于表示ANI引用型定长数组类引用。
 *
 * @since 22
 */
typedef ani_fixedarray ani_fixedarray_ref;
#endif  // __cplusplus

/**
 * @brief 前向声明__ani_wref结构体。
 *
 * @since 22
 */
struct __ani_wref;
/**
 * @brief 定义ani_wref为指向__ani_wref结构体的指针，表示ANI弱引用类型。
 *
 * @since 22
 */
typedef struct __ani_wref *ani_wref;

/**
 * @brief 前向声明__ani_variable结构体。
 *
 * @since 22
 */
struct __ani_variable;
/**
 * @brief 定义ani_variable为指向__ani_variable结构体的指针，表示ANI变量。
 *
 * @since 22
 */
typedef struct __ani_variable *ani_variable;

/**
 * @brief 前向声明__ani_function结构体。
 *
 * @since 22
 */
struct __ani_function;
/**
 * @brief 定义ani_function为指向__ani_function结构体的指针，表示ANI函数。
 *
 * @since 22
 */
typedef struct __ani_function *ani_function;

/**
 * @brief 前向声明__ani_field结构体。
 *
 * @since 22
 */
struct __ani_field;
/**
 * @brief 定义ani_field为指向__ani_field结构体的指针，表示ANI字段。
 *
 * @since 22
 */
typedef struct __ani_field *ani_field;

/**
 * @brief 前向声明__ani_static_field结构体。
 *
 * @since 22
 */
struct __ani_static_field;
/**
 * @brief 定义ani_static_field为指向__ani_static_field结构体的指针，表示ANI静态字段。
 *
 * @since 22
 */
typedef struct __ani_satic_field *ani_static_field;

/**
 * @brief 前向声明__ani_method结构体。
 *
 * @since 22
 */
struct __ani_method;
/**
 * @brief 定义ani_method为指向__ani_method结构体的指针，表示ANI方法。
 *
 * @since 22
 */
typedef struct __ani_method *ani_method;

/**
 * @brief 前向声明__ani_static_method结构体。
 *
 * @since 22
 */
struct __ani_static_method;
/**
 * @brief 定义ani_static_method为指向__ani_static_method结构体的指针，表示ANI静态方法。
 *
 * @since 22
 */
typedef struct __ani_static_method *ani_static_method;

/**
 * @brief 前向声明__ani_resolver结构体。
 *
 * @since 22
 */
struct __ani_resolver;
/**
 * @brief 定义ani_resolver为指向__ani_resolver结构体的指针，表示ANI解析器。
 *
 * @since 22
 */
typedef struct __ani_resolver *ani_resolver;

/**
 * @brief ANI数据类型。
 *
 * @since 22
 */
typedef union {
    /** 
     * @brief 布尔值。
     */
    ani_boolean z;
    /** 
     * @brief 字符值。
     */
    ani_char c;
    /** 
     * @brief 字节值。
     */
    ani_byte b;
    /** 
     * @brief 短整型值。
     */
    ani_short s;
    /** 
     * @brief 整型值。
     */
    ani_int i;
    /** 
     * @brief 长整型值。
     */
    ani_long l;
    /** 
     * @brief 单精度浮点值。
     */
    ani_float f;
    /** 
     * @brief 双精度浮点值。
     */
    ani_double d;
    /** 
     * @brief 引用值。
     */
    ani_ref r;
} ani_value;

/**
 * @brief 定义native函数结构体。
 *
 * @since 22
 */
typedef struct {
    /** 函数名。 */
    const char *name;
    /** 函数签名。 */
    const char *signature;
    /** 函数指针。 */
    const void *pointer;
} ani_native_function;

#ifdef __cplusplus // _cplusplus
/**
 * @brief 定义ani_vm为__ani_vm结构体别名。
 *
 * @since 22
 */
typedef struct __ani_vm ani_vm;

/**
 * @brief 定义ani_env为__ani_env结构体别名。
 *
 * @since 22
 */
typedef struct __ani_env ani_env;
#else // _cplusplus
/**
 * @brief 定义ani_vm为指向__ani_vm_api的指针。
 *
 * @since 22
 */
typedef const struct __ani_vm_api *ani_vm;
/**
 * @brief 定义ani_env为指向__ani_interaction_api的指针。
 *
 * @since 22
 */
typedef const struct __ani_interaction_api *ani_env;
#endif // _cplusplus

/**
 * @brief 表示ANI接口调用成功或失败的完整状态码。
 *
 * @since 22
 */
typedef enum {
    /** 
     * @brief 调用成功。
     */
    ANI_OK,
    /** 
     * @brief 通用Error。
     */
    ANI_ERROR,
    /** 
     * @brief 无效参数。
     */
    ANI_INVALID_ARGS,
    /** 
     * @brief 无效类型。
     */
    ANI_INVALID_TYPE,
    /** 
     * @brief 无效描述符。
     */
    ANI_INVALID_DESCRIPTOR,
    /** 
     * @brief 引用不正确。
     */
    ANI_INCORRECT_REF,
    /** 
     * @brief ArkTS运行时抛出异常。
     */
    ANI_PENDING_ERROR,
    /** 
     * @brief 未找到。
     */
    ANI_NOT_FOUND,
    /** 
     * @brief 已绑定。
     */
    ANI_ALREADY_BINDED,
    /** 
     * @brief 引用超出范围。
     */
    ANI_OUT_OF_REF,
    /** 
     * @brief 内存不足。
     */
    ANI_OUT_OF_MEMORY,
    /** 
     * @brief 超出范围。
     */
    ANI_OUT_OF_RANGE,
    /** 
     * @brief 缓冲区过小。
     */
    ANI_BUFFER_TO_SMALL,
    /** 
     * @brief 版本无效。
     */
    ANI_INVALID_VERSION,
    /** 
     * @brief 存在歧义。
     */
    ANI_AMBIGUOUS,
} ani_status;

/**
 * @brief 定义创建虚拟机时传递的参数选项的结构体。
 *
 * @since 22
 */
typedef struct {
    /**选项字符串。 */
    const char *option;
    /**额外信息指针。 */
    void *extra;
} ani_option;

/**
 * @brief 定义虚拟机初始化参数的结构体。
 *
 * @since 22
 */
typedef struct {
    /**传递的参数数量。 */
    size_t nr_options;
    /**传递的参数选项。 */
    const ani_option *options;
} ani_options;

/**
 * @brief ANI虚拟机相关的接口。
 *
 * @since 22
 */
struct __ani_vm_api {

    /** 保留位0。 */
    void *reserved0;
    /** 保留位1。 */
    void *reserved1;
    /** 保留位2。 */
    void *reserved2;
    /** 保留位3。 */
    void *reserved3;

    /**
     * @brief 销毁VM并释放相关资源。
     *
     * @param vm 待销毁的VM实例。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*DestroyVM)(ani_vm *vm);

    /**
     * @brief 获取ANI环境。
     *
     * @param vm 将从中获取ANI接口的虚拟机实例。
     * @param version ANI版本。
     * @param result 指向获取到的ani_env的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetEnv)(ani_vm *vm, uint32_t version, ani_env **result);

    /**
     * @brief 将当前线程附加到虚拟机中，使其能够调用ANI接口。
     *
     * @param vm 线程要附加到的虚拟机。
     * @param options 线程附加到虚拟机时传递的参数选项。
     * @param version ANI版本。
     * @param result 附加成功后线程获得的ani_env指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*AttachCurrentThread)(ani_vm *vm, const ani_options *options, uint32_t version, ani_env **result);

    /**
     * @brief 将当前线程从虚拟机分离，释放相关资源。
     *
     * @param vm 线程从其内分离的虚拟机。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*DetachCurrentThread)(ani_vm *vm);
};

#define ANI_EXPORT __attribute__((visibility("default")))

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief 创建虚拟机实例。
 *
 * @param options 创建虚拟机时传递的相关初始化参数。
 * @param version ANI版本。
 * @param result 指向创建的虚拟机的指针。
 * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
 *
 * @since 22
 */
ANI_EXPORT ani_status ANI_CreateVM(const ani_options *options, uint32_t version, ani_vm **result);

/**
 * @brief 获取已创建的所有虚拟机，写入指定的缓冲区中。
 *
 * @param vms_buffer 指向存储虚拟机的缓冲区的指针。
 * @param vms_buffer_length 缓冲区长度。
 * @param result 已创建的虚拟机数量。
 * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
 *
 * @since 22
 */
ANI_EXPORT ani_status ANI_GetCreatedVMs(ani_vm **vms_buffer, ani_size vms_buffer_length, ani_size *result);

/**
 * @brief 通过loadLibrary加载native library时，虚拟机调用此函数，返回native library需要的ANI版本。
 *
 * @param vm 指向当前虚拟机的指针。
 * @param result 指向native library需要的ANI版本的指针。
 * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
 *
 * @since 22
 */
ANI_EXPORT ani_status ANI_Constructor(ani_vm *vm, uint32_t *result);

/**
 * @brief 用于执行ANI清理操作。
 *
 * @param vm 指向当前虚拟机的指针。
 * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
 *
 * @since 22
 */
ANI_EXPORT ani_status ANI_Destructor(ani_vm *vm);

#ifdef __cplusplus
}
#endif

/**
 * @brief ANI接口。
 *
 * @since 22
 */
struct __ani_interaction_api {
    /** 保留位0 */
    void *reserved0;
    /** 保留位1 */
    void *reserved1;
    /** 保留位2 */
    void *reserved2;
    /** 保留位3 */
    void *reserved3;

    /**
     * @brief 获取版本信息。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向获取到的版本信息的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetVersion)(ani_env *env, uint32_t *result);

    /**
     * @brief 获取虚拟机实例。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向得到的虚拟机实例的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetVM)(ani_env *env, ani_vm **result);

    /**
     * @brief 传递可变参数调用指定的构造方法，创建给定类的新对象。
     * 
     * @param env 指向ANI环境结构体的指针。
     * @param cls 待创建对象的类型。
     * @param ctor 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param ... 传递给构造方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_New)(ani_env *env, ani_class cls, ani_method ctor, ani_object *result, ...);

    /**
     * @brief 传递参数数组调用指定的构造方法，创建给定类的新对象。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 待创建对象的类型。
     * @param ctor 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param args 传递给构造方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_New_A)(ani_env *env, ani_class cls, ani_method ctor, ani_object *result,
                               const ani_value *args);

    /**
     * @brief 传递va_list类型参数调用指定的构造方法，创建给定类的新对象。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 待创建对象的类型。
     * @param ctor 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param args 传递给构造方法的va_list类型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_New_V)(ani_env *env, ani_class cls, ani_method ctor, ani_object *result, va_list args);

    /**
     * @brief 获取指定对象的类型。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 待获取类型的对象。
     * @param result 指向获取到的类型的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetType)(ani_env *env, ani_object object, ani_type *result);

    /**
     * @brief 检查给定的对象是否为指定类型的实例。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 待检查的对象。
     * @param type 用于比较的目标类型（即判断对象是否属于此类型）。
     * @param result 指向布尔型结果的指针。若对象是指定类型的实例，结果为true；否则为false。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_InstanceOf)(ani_env *env, ani_object object, ani_type type, ani_boolean *result);

    /**
     * @brief 获取指定类型的超类。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param type 需要获取其超类的类型。
     * @param result 指向获取到的超类的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Type_GetSuperClass)(ani_env *env, ani_type type, ani_class *result);

    /**
     * @brief 检查某一类型是否可通过另一类型赋值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param from_type 源类型（即作为赋值来源的类型）。
     * @param to_type 目标类型（即接收赋值的类型）。
     * @param result 指向布尔型返回值的指针，表明类型间是否可赋值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Type_IsAssignableFrom)(ani_env *env, ani_type from_type, ani_type to_type, ani_boolean *result);

    /**
     * @brief 根据描述符查找模块。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param module_descriptor 待查找模块的描述符。
     * @param result 指向找到的模块的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FindModule)(ani_env *env, const char *module_descriptor, ani_module *result);

    /**
     * @brief 根据描述符查找命名空间。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param namespace_descriptor 待查找命名空间的描述符。
     * @param result 指向找到的命名空间的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FindNamespace)(ani_env *env, const char *namespace_descriptor, ani_namespace *result);

    /**
     * @brief 根据描述符查找类。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param class_descriptor 待查找类的描述符。
     * @param result 指向找到的类的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FindClass)(ani_env *env, const char *class_descriptor, ani_class *result);

    /**
     * @brief 根据描述符查找枚举类型。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_descriptor 待查找枚举类型的描述符。
     * @param result 指向找到的枚举类型的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FindEnum)(ani_env *env, const char *enum_descriptor, ani_enum *result);

    /**
     * @brief 在指定模块内通过函数名称和签名查找函数。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param module 待在其中查找函数的模块。
     * @param name 待查找函数的名称。
     * @param signature 待查找函数的签名。
     * @param result 指向查找到的函数对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Module_FindFunction)(ani_env *env, ani_module module, const char *name, const char *signature,
                                      ani_function *result);

    /**
     * @brief 在指定模块内通过变量名称查找变量。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param module 待在其中查找变量的模块。
     * @param name 待查找变量的名称。
     * @param result 指向查找到的变量对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Module_FindVariable)(ani_env *env, ani_module module, const char *name, ani_variable *result);

    /**
     * @brief 在指定命名空间内通过函数名称和签名查找函数。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ns 待在其中查找函数的命名空间。
     * @param name 待查找函数的名称。
     * @param signature 待查找函数的签名。
     * @param result 指向查找到的函数对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Namespace_FindFunction)(ani_env *env, ani_namespace ns, const char *name, const char *signature,
                                         ani_function *result);

    /**
     * @brief 在指定命名空间内通过变量名称查找变量。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ns 待在其中查找变量的命名空间。
     * @param name 待查找变量的名称。
     * @param result 指向查找到的变量对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Namespace_FindVariable)(ani_env *env, ani_namespace ns, const char *name, ani_variable *result);

    /**
     * @brief 将native函数绑定到指定模块上。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param module native函数将绑定的目标模块。
     * @param functions 指向待绑定的native函数数组的指针。
     * @param nr_functions 数组中native函数的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Module_BindNativeFunctions)(ani_env *env, ani_module module, const ani_native_function *functions,
                                             ani_size nr_functions);

    /**
     * @brief 将native函数数组绑定到指定命名空间上。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ns native函数将绑定的目标命名空间。
     * @param functions 指向待绑定的native函数数组的指针。
     * @param nr_functions 数组中native函数的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Namespace_BindNativeFunctions)(ani_env *env, ani_namespace ns, const ani_native_function *functions,
                                                ani_size nr_functions);

    /**
     * @brief 将native方法数组绑定到指定类上。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls native函数将绑定的目标类。
     * @param methods 指向待绑定的native方法数组的指针。
     * @param nr_methods 数组中native方法的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_BindNativeMethods)(ani_env *env, ani_class cls, const ani_native_function *methods,
                                          ani_size nr_methods);

    /**
     * @brief 删除指定的局部引用，以释放相关资源。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param lref 待删除的局部引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_Delete)(ani_env *env, ani_ref lref);

    /**
     * @brief 检查并确保能够创建指定数量的局部引用，以确保有足够的局部引用可用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param nr_refs 需确保可用性的局部引用数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnsureEnoughReferences)(ani_env *env, ani_size nr_refs);

    /**
     * @brief 创建一个具有指定容量的引用局部作用域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param nr_refs 此局部作用域中可创建的引用的最大数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*CreateLocalScope)(ani_env *env, ani_size nr_refs);

    /**
     * @brief 销毁当前的局部作用域，并释放该作用域内的所有引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*DestroyLocalScope)(ani_env *env);

    /**
     * @brief 创建一个具备逃逸功能的引用局部作用域，允许对象从该作用域中逃逸，即对象可在此作用域之外继续被访问或使用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param nr_refs 此局部作用域中可创建的引用的最大数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*CreateEscapeLocalScope)(ani_env *env, ani_size nr_refs);

    /**
     * @brief 销毁当前具备逃逸功能的局部作用域，并且允许获取已逃逸的引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 指定要逃逸当前作用域的目标引用。
     * @param result 指向从此作用域中逃逸的引用的指针，即将成功逃逸后的引用写入此指针指向的内存地址。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*DestroyEscapeLocalScope)(ani_env *env, ani_ref ref, ani_ref *result);

    /**
     * @brief 在当前环境中抛出指定的异常。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param err 待抛出的异常。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*ThrowError)(ani_env *env, ani_error err);

    /**
     * @brief 判断当前环境中是否存在未处理的异常。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向布尔型返回值的指针，表明是否存在未处理的异常。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*ExistUnhandledError)(ani_env *env, ani_boolean *result);

    /**
     * @brief 捕获当前环境中未处理的异常。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向未处理异常的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetUnhandledError)(ani_env *env, ani_error *result);

    /**
     * @brief 重置当前环境中的错误状态。
     *
     * @param env 指向ANI环境结构体的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*ResetError)(ani_env *env);

    /**
     * @brief 打印当前错误的栈跟踪信息或其他调试信息。
     *        打印操作通过调用标准库提供的console.error实现。
     *
     * @param env 指向ANI环境结构体的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*DescribeError)(ani_env *env);

    /**
     * @brief 终止程序执行，并显示指定的错误信息。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param message 程序终止执行时显示的错误信息。
     * @return 无返回值；进程会在此函数调用后终止。
     *
     * @since 22
     */
    ani_status (*Abort)(ani_env *env, const char *message);

    /**
     * @brief 获取一个空引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向获取到的空引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetNull)(ani_env *env, ani_ref *result);

    /**
     * @brief 获取一个未定义引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result 指向获取到的未定义引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GetUndefined)(ani_env *env, ani_ref *result);

    /**
     * @brief 检查指定的引用是否为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 待检查的引用。
     * @param result 表明引用是否为空的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_IsNull)(ani_env *env, ani_ref ref, ani_boolean *result);

    /**
     * @brief 检查指定的引用是否为未定义状态。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 待检查的引用。
     * @param result 表明引用是否为未定义状态的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_IsUndefined)(ani_env *env, ani_ref ref, ani_boolean *result);

    /**
     * @brief 检查指定的引用是否为空或未定义状态。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 待检查的引用。
     * @param result 表明引用是否为空或未定义状态的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_IsNullishValue)(ani_env *env, ani_ref ref, ani_boolean *result);

    /**
     * @brief 比较两个引用是否相等。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref0 待比较的第一个引用。
     * @param ref1 待比较的第二个引用。
     * @param result 表明两个引用是否相等的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_Equals)(ani_env *env, ani_ref ref0, ani_ref ref1, ani_boolean *result);

    /**
     * @brief 比较两个引用是否严格相等。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref0 待比较的第一个引用。
     * @param ref1 待比较的第二个引用。
     * @param result 表明两个引用是否严格相等的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Reference_StrictEquals)(ani_env *env, ani_ref ref0, ani_ref ref1, ani_boolean *result);
    
    /**
     * @brief 创建一个新的UTF-16字符串。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param utf16_string 指向UTF-16字符串数据的指针。
     * @param utf16_size UTF-16字符串的大小（以代码单元为单位）。
     * @param result 指向创建的新字符串的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_NewUTF16)(ani_env *env, const uint16_t *utf16_string, ani_size utf16_size, ani_string *result);

    /**
     * @brief 获取指定UTF-16字符串的长度（以代码单元为单位）。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要测量长度的字符串对象。
     * @param result 指向获取到的字符串长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF16Size)(ani_env *env, ani_string string, ani_size *result);

    /**
     * @brief 获取指定字符串的UTF-16编码数据，存储到指定的缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要从中获取数据的字符串。
     * @param utf16_buffer 存储UTF-16编码数据的输出缓冲区。
     * @param utf16_buffer_size 输出缓冲区的容量（以代码单元为单位）。
     * @param result 用于存储已写入的代码单元数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF16)(ani_env *env, ani_string string, uint16_t *utf16_buffer, ani_size utf16_buffer_size,
                                  ani_size *result);

    /**
     * @brief 获取UTF-16字符串的子串，存储到指定的缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要从中获取数据的字符串。
     * @param substr_offset 子串的起始偏移量。
     * @param substr_size 子串的大小（以代码单元为单位）。
     * @param utf16_buffer 存储子串的输出缓冲区。
     * @param utf16_buffer_size 缓冲区的大小（以代码单元为单位）。
     * @param result 用于存储已写入的代码单元数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF16SubString)(ani_env *env, ani_string string, ani_size substr_offset,
                                           ani_size substr_size, uint16_t *utf16_buffer, ani_size utf16_buffer_size,
                                           ani_size *result);

    /**
     * @brief 创建一个新的UTF-8字符串。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param utf8_string 指向UTF-8字符串数据的指针。
     * @param utf8_size UTF-8字符串的大小（以字节为单位）。
     * @param result 指向创建的新字符串的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_NewUTF8)(ani_env *env, const char *utf8_string, ani_size utf8_size, ani_string *result);

    /**
     * @brief 获取指定UTF-8字符串的长度（以字节为单位）。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要测量长度的字符串对象。
     * @param result 指向获取到的字符串长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF8Size)(ani_env *env, ani_string string, ani_size *result);

    /**
     * @brief 获取指定字符串的UTF-8编码数据，复制到指定的缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要从中获取数据的字符串。
     * @param utf8_buffer 存储UTF-8编码数据的输出缓冲区。
     * @param utf8_buffer_size 输出缓冲区的容量（以字节为单位）。
     * @param result 用于存储已写入的字节数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF8)(ani_env *env, ani_string string, char *utf8_buffer, ani_size utf8_buffer_size,
                                 ani_size *result);

    /**
     * @brief 获取UTF-8字符串的子串，存储到指定的缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param string 要从中获取数据的字符串。
     * @param substr_offset 子串的起始偏移量。
     * @param substr_size 子串的大小（以字节为单位）。
     * @param utf8_buffer 存储子串的输出缓冲区。
     * @param utf8_buffer_size 缓冲区的大小（以字节为单位）。
     * @param result 用于存储已写入的字节数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*String_GetUTF8SubString)(ani_env *env, ani_string string, ani_size substr_offset, ani_size substr_size,
                                          char *utf8_buffer, ani_size utf8_buffer_size, ani_size *result);

    /**
     * @brief 获取指定数组的长度，获取过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 待获取长度的数组。
     * @param result 指向获取到的数组长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_GetLength)(ani_env *env, ani_array array, ani_size *result);

    /**
     * @brief 创建一个指定长度的新数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的数组的初始长度。
     * @param initial_element 用于占位的初始化元素。
     * @param result 指向创建的数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_New)(ani_env *env, ani_size length, ani_ref initial_element, ani_array *result);

    /**
     * @brief 在数组的指定索引处设置元素值，设置过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置元素值的数组对象。
     * @param index 要设置元素值的索引位置。
     * @param ref 要设置的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_Set)(ani_env *env, ani_array array, ani_size index, ani_ref ref);

    /**
     * @brief 从数组的指定索引位置获取元素值，获取过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要获取元素值的数组。
     * @param index 要获取元素的索引位置。
     * @param result 指向获取到的元素值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_Get)(ani_env *env, ani_array array, ani_size index, ani_ref *result);

    /**
     * @brief 向数组末尾添加元素，添加过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要添加元素的数组。
     * @param ref 要添加到数组末尾的元素值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_Push)(ani_env *env, ani_array array, ani_ref ref);

    /**
     * @brief 移除数组的最后一个元素并返回该元素值，移除过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要移除最后一个元素的数组。
     * @param result 指向移除的元素的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Array_Pop)(ani_env *env, ani_array array, ani_ref *result);

    /**
     * @brief 获取指定定长数组的长度。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要获取长度的定长数组对象。
     * @param result 指向定长数组长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetLength)(ani_env *env, ani_fixedarray array, ani_size *result);

    /**
     * @brief 创建一个指定长度的布尔型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Boolean)(ani_env *env, ani_size length, ani_fixedarray_boolean *result);

    /**
     * @brief 创建一个指定长度的字符型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Char)(ani_env *env, ani_size length, ani_fixedarray_char *result);

    /**
     * @brief 创建一个指定长度的字节型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Byte)(ani_env *env, ani_size length, ani_fixedarray_byte *result);

    /**
     * @brief 创建一个指定长度的短整型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Short)(ani_env *env, ani_size length, ani_fixedarray_short *result);

    /**
     * @brief 创建一个指定长度的整型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Int)(ani_env *env, ani_size length, ani_fixedarray_int *result);

    /**
     * @brief 创建一个指定长度的长整型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Long)(ani_env *env, ani_size length, ani_fixedarray_long *result);

    /**
     * @brief 创建一个指定长度的单精度浮点型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Float)(ani_env *env, ani_size length, ani_fixedarray_float *result);

    /**
     * @brief 创建一个指定长度的双精度浮点型定长数组。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Double)(ani_env *env, ani_size length, ani_fixedarray_double *result);

    /**
     * @brief 获取布尔型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的布尔型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的布尔型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Boolean)(ani_env *env, ani_fixedarray_boolean array, ani_size offset,
                                               ani_size length, ani_boolean *native_buffer);

    /**
     * @brief 获取字符型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的字符型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的字符型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Char)(ani_env *env, ani_fixedarray_char array, ani_size offset, ani_size length,
                                            ani_char *native_buffer);

    /**
     * @brief 获取字节型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的字节型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的字节型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Byte)(ani_env *env, ani_fixedarray_byte array, ani_size offset, ani_size length,
                                            ani_byte *native_buffer);

    /**
     * @brief 获取短整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的短整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的短整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Short)(ani_env *env, ani_fixedarray_short array, ani_size offset, ani_size length,
                                             ani_short *native_buffer);

    /**
     * @brief 获取整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Int)(ani_env *env, ani_fixedarray_int array, ani_size offset, ani_size length,
                                           ani_int *native_buffer);

    /**
     * @brief 获取长整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的长整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的长整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Long)(ani_env *env, ani_fixedarray_long array, ani_size offset, ani_size length,
                                            ani_long *native_buffer);

    /**
     * @brief 获取单精度浮点型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的单精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的单精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Float)(ani_env *env, ani_fixedarray_float array, ani_size offset, ani_size length,
                                             ani_float *native_buffer);

    /**
     * @brief 获取双精度浮点型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要从中获取数据的双精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的双精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_GetRegion_Double)(ani_env *env, ani_fixedarray_double array, ani_size offset,
                                              ani_size length, ani_double *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到布尔型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的布尔型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的布尔型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Boolean)(ani_env *env, ani_fixedarray_boolean array, ani_size offset,
                                               ani_size length, const ani_boolean *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到字符型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的字符型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的字符型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Char)(ani_env *env, ani_fixedarray_char array, ani_size offset, ani_size length,
                                            const ani_char *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到字节型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的字节型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的字节型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Byte)(ani_env *env, ani_fixedarray_byte array, ani_size offset, ani_size length,
                                            const ani_byte *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到短整型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的短整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的短整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Short)(ani_env *env, ani_fixedarray_short array, ani_size offset, ani_size length,
                                             const ani_short *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到整型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Int)(ani_env *env, ani_fixedarray_int array, ani_size offset, ani_size length,
                                           const ani_int *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到长整型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的长整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的长整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Long)(ani_env *env, ani_fixedarray_long array, ani_size offset, ani_size length,
                                            const ani_long *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到单精度浮点型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的单精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的单精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Float)(ani_env *env, ani_fixedarray_float array, ani_size offset, ani_size length,
                                             const ani_float *native_buffer);

    /**
     * @brief 将native缓冲区中的数据设置到双精度浮点型定长数组的指定区域。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要设置数据的双精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的双精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_SetRegion_Double)(ani_env *env, ani_fixedarray_double array, ani_size offset,
                                              ani_size length, const ani_double *native_buffer);

    /**
     * @brief 创建一个指定长度的引用型定长数组，可以选择用一个初始元素将其初始化。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param type 定长数组元素的类型。
     * @param length 要创建的定长数组的长度。
     * @param initial_element 用于初始化数组的可选元素，可以为空。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_New_Ref)(ani_env *env, ani_type type, ani_size length, ani_ref initial_element,
                                     ani_fixedarray_ref *result);

    /**
     * @brief 在引用型定长数组的指定索引位置设置元素值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要修改的引用型定长数组。
     * @param index 要设置引用的索引位置。
     * @param ref 在指定索引位置要设置的引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_Set_Ref)(ani_env *env, ani_fixedarray_ref array, ani_size index, ani_ref ref);

    /**
     * @brief 从引用型定长数组的指定索引位置获取元素值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param array 要查询的引用型定长数组。
     * @param index 要获取引用的索引位置。
     * @param result 指向获取到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FixedArray_Get_Ref)(ani_env *env, ani_fixedarray_ref array, ani_size index, ani_ref *result);

    /**
     * @brief 在指定的枚举类中根据名称获取对应的枚举项。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enm 要搜索的枚举类型。
     * @param name 要获取的枚举项名称。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Enum_GetEnumItemByName)(ani_env *env, ani_enum enm, const char *name, ani_enum_item *result);

    /**
     * @brief 在指定的枚举类中根据索引值获取对应的枚举项。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enm 要搜索的枚举类。
     * @param index 要获取的枚举项的索引位置。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Enum_GetEnumItemByIndex)(ani_env *env, ani_enum enm, ani_size index, ani_enum_item *result);

    /**
     * @brief 获取指定枚举项所属的枚举类。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_item 要获取的枚举项。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnumItem_GetEnum)(ani_env *env, ani_enum_item enum_item, ani_enum *result);

    /**
     * @brief 获取枚举项对应的整数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_item 要获取对应整数值的枚举项。
     * @param result 指向获取到的枚举项整数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnumItem_GetValue_Int)(ani_env *env, ani_enum_item enum_item, ani_int *result);

    /**
     * @brief 获取枚举项对应的字符串值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_item 要获取对应字符串值的枚举项。
     * @param result 指向获取到的枚举项字符串值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnumItem_GetValue_String)(ani_env *env, ani_enum_item enum_item, ani_string *result);

    /**
     * @brief 获取枚举项对应的名称。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_item 要获取对应名称的枚举项。
     * @param result 指向获取到的枚举项名称的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnumItem_GetName)(ani_env *env, ani_enum_item enum_item, ani_string *result);

    /**
     * @brief 获取枚举项对应的索引值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param enum_item 要获取对应索引值的枚举项。
     * @param result 指向获取到的枚举项索引值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*EnumItem_GetIndex)(ani_env *env, ani_enum_item enum_item, ani_size *result);

    /**
     * @brief 通过指定的参数调用函数对象（函数或可调用对象）。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数对象。
     * @param argc 传递给函数对象的参数数量。
     * @param argv 指向待传递的参数引用数组的指针。如果argc为0，argv可以为null。
     * @param result 指向调用结果的地址，不能为null。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*FunctionalObject_Call)(ani_env *env, ani_fn_object fn, ani_size argc, ani_ref *argv, ani_ref *result);

    /**
     * @brief 给指定的变量设置一个布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Boolean)(ani_env *env, ani_variable variable, ani_boolean value);

    /**
     * @brief 给指定的变量设置一个字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Char)(ani_env *env, ani_variable variable, ani_char value);

    /**
     * @brief 给指定的变量设置一个字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Byte)(ani_env *env, ani_variable variable, ani_byte value);

    /**
     * @brief 给指定的变量设置一个短整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的短整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Short)(ani_env *env, ani_variable variable, ani_short value);

    /**
     * @brief 给指定的变量设置一个整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Int)(ani_env *env, ani_variable variable, ani_int value);

    /**
     * @brief 给指定的变量设置一个长整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的长整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Long)(ani_env *env, ani_variable variable, ani_long value);

    /**
     * @brief 给指定的变量设置一个单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的单精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Float)(ani_env *env, ani_variable variable, ani_float value);

    /**
     * @brief 给指定的变量设置一个双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的双精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Double)(ani_env *env, ani_variable variable, ani_double value);

    /**
     * @brief 给指定的变量设置一个引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要修改的变量。
     * @param value 要赋给变量的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_SetValue_Ref)(ani_env *env, ani_variable variable, ani_ref value);

    /**
     * @brief 获取指定变量的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Boolean)(ani_env *env, ani_variable variable, ani_boolean *result);

    /**
     * @brief 获取指定变量的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Char)(ani_env *env, ani_variable variable, ani_char *result);

    /**
     * @brief 获取指定变量的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Byte)(ani_env *env, ani_variable variable, ani_byte *result);

    /**
     * @brief 获取指定变量的短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Short)(ani_env *env, ani_variable variable, ani_short *result);

    /**
     * @brief 获取指定变量的整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Int)(ani_env *env, ani_variable variable, ani_int *result);

    /**
     * @brief 获取指定变量的长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Long)(ani_env *env, ani_variable variable, ani_long *result);

    /**
     * @brief 获取指定变量的单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Float)(ani_env *env, ani_variable variable, ani_float *result);

    /**
     * @brief 获取指定变量的双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Double)(ani_env *env, ani_variable variable, ani_double *result);

    /**
     * @brief 获取指定变量的引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param variable 要查询的变量。
     * @param result 指向获取到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Variable_GetValue_Ref)(ani_env *env, ani_variable variable, ani_ref *result);

    /**
     * @brief 传递可变参数调用指定的函数，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给函数的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Boolean)(ani_env *env, ani_function fn, ani_boolean *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Boolean_A)(ani_env *env, ani_function fn, ani_boolean *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Boolean_V)(ani_env *env, ani_function fn, ani_boolean *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Char)(ani_env *env, ani_function fn, ani_char *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Char_A)(ani_env *env, ani_function fn, ani_char *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Char_V)(ani_env *env, ani_function fn, ani_char *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Byte)(ani_env *env, ani_function fn, ani_byte *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Byte_A)(ani_env *env, ani_function fn, ani_byte *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Byte_V)(ani_env *env, ani_function fn, ani_byte *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Short)(ani_env *env, ani_function fn, ani_short *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Short_A)(ani_env *env, ani_function fn, ani_short *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Short_V)(ani_env *env, ani_function fn, ani_short *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Int)(ani_env *env, ani_function fn, ani_int *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Int_A)(ani_env *env, ani_function fn, ani_int *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Int_V)(ani_env *env, ani_function fn, ani_int *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Long)(ani_env *env, ani_function fn, ani_long *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Long_A)(ani_env *env, ani_function fn, ani_long *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Long_V)(ani_env *env, ani_function fn, ani_long *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Float)(ani_env *env, ani_function fn, ani_float *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Float_A)(ani_env *env, ani_function fn, ani_float *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Float_V)(ani_env *env, ani_function fn, ani_float *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Double)(ani_env *env, ani_function fn, ani_double *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Double_A)(ani_env *env, ani_function fn, ani_double *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Double_V)(ani_env *env, ani_function fn, ani_double *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Ref)(ani_env *env, ani_function fn, ani_ref *result, ...);

    /**
     * @brief 传递参数数组调用指定的函数，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Ref_A)(ani_env *env, ani_function fn, ani_ref *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Ref_V)(ani_env *env, ani_function fn, ani_ref *result, va_list args);

    /**
     * @brief 传递可变参数调用指定的函数，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Void)(ani_env *env, ani_function fn, ...);

    /**
     * @brief 传递参数数组调用指定的函数，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Void_A)(ani_env *env, ani_function fn, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用指定的函数，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param fn 要调用的函数。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Function_Call_Void_V)(ani_env *env, ani_function fn, va_list args);

    /**
     * @brief 根据名称查找字段。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找的字段名称。
     * @param result 指向查找到的字段的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindField)(ani_env *env, ani_class cls, const char *name, ani_field *result);

    /**
     * @brief 根据名称查找静态字段。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找的静态字段名称。
     * @param result 指向查找到的静态字段的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindStaticField)(ani_env *env, ani_class cls, const char *name, ani_static_field *result);

    /**
     * @brief 根据名称和签名查找方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找的方法名称。
     * @param signature 要查找的方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindMethod)(ani_env *env, ani_class cls, const char *name, const char *signature,
                                   ani_method *result);

    /**
     * @brief 根据名称和签名查找静态方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找的静态方法名称。
     * @param signature 要查找的静态方法的签名。
     * @param result 指向查找到的静态方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindStaticMethod)(ani_env *env, ani_class cls, const char *name, const char *signature,
                                         ani_static_method *result);

    /**
     * @brief 根据属性名称查找setter方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找setter方法的属性名称。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindSetter)(ani_env *env, ani_class cls, const char *name, ani_method *result);

    /**
     * @brief 根据属性名称查找getter方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param name 要查找getter方法的属性名称。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindGetter)(ani_env *env, ani_class cls, const char *name, ani_method *result);

    /**
     * @brief 通过签名查找可索引的getter方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param signature 要查找的可索引getter方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindIndexableGetter)(ani_env *env, ani_class cls, const char *signature, ani_method *result);

    /**
     * @brief 通过签名查找可索引的setter方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param signature 要查找的可索引setter方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindIndexableSetter)(ani_env *env, ani_class cls, const char *signature, ani_method *result);

    /**
     * @brief 查找类的迭代器方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要查询的类。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_FindIterator)(ani_env *env, ani_class cls, ani_method *result);

    /**
     * @brief 从指定类的静态字段中获取布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Boolean)(ani_env *env, ani_class cls, ani_static_field field,
                                               ani_boolean *result);

    /**
     * @brief 从指定类的静态字段中获取字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Char)(ani_env *env, ani_class cls, ani_static_field field, ani_char *result);

    /**
     * @brief 从指定类的静态字段中获取字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Byte)(ani_env *env, ani_class cls, ani_static_field field, ani_byte *result);

    /**
     * @brief 从指定类的静态字段中获取短整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的短整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Short)(ani_env *env, ani_class cls, ani_static_field field, ani_short *result);

    /**
     * @brief 从指定类的静态字段中获取整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Int)(ani_env *env, ani_class cls, ani_static_field field, ani_int *result);

    /**
     * @brief 从指定类的静态字段中获取长整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的长整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Long)(ani_env *env, ani_class cls, ani_static_field field, ani_long *result);

    /**
     * @brief 从指定类的静态字段中获取单精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的单精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Float)(ani_env *env, ani_class cls, ani_static_field field, ani_float *result);

    /**
     * @brief 从指定类的静态字段中获取双精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的双精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Double)(ani_env *env, ani_class cls, ani_static_field field, ani_double *result);

    /**
     * @brief 从指定类的静态字段中获取引用型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的引用型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticField_Ref)(ani_env *env, ani_class cls, ani_static_field field, ani_ref *result);

    /**
     * @brief 给一个类的指定静态字段设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Boolean)(ani_env *env, ani_class cls, ani_static_field field, ani_boolean value);

    /**
     * @brief 给一个类的指定静态字段设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Char)(ani_env *env, ani_class cls, ani_static_field field, ani_char value);

    /**
     * @brief 给一个类的指定静态字段设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Byte)(ani_env *env, ani_class cls, ani_static_field field, ani_byte value);

    /**
     * @brief 给一个类的指定静态字段设置短整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的短整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Short)(ani_env *env, ani_class cls, ani_static_field field, ani_short value);

    /**
     * @brief 给一个类的指定静态字段设置整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Int)(ani_env *env, ani_class cls, ani_static_field field, ani_int value);

    /**
     * @brief 给一个类的指定静态字段设置长整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的长整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Long)(ani_env *env, ani_class cls, ani_static_field field, ani_long value);

    /**
     * @brief 给一个类的指定静态字段设置单精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的单精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Float)(ani_env *env, ani_class cls, ani_static_field field, ani_float value);

    /**
     * @brief 给一个类的指定静态字段设置双精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的双精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Double)(ani_env *env, ani_class cls, ani_static_field field, ani_double value);

    /**
     * @brief 给一个类的指定静态字段设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticField_Ref)(ani_env *env, ani_class cls, ani_static_field field, ani_ref value);

    /**
     * @brief 通过名称从类中获取指定静态字段的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Boolean)(ani_env *env, ani_class cls, const char *name,
                                                     ani_boolean *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Char)(ani_env *env, ani_class cls, const char *name, ani_char *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Byte)(ani_env *env, ani_class cls, const char *name, ani_byte *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的短整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的短整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Short)(ani_env *env, ani_class cls, const char *name, ani_short *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Int)(ani_env *env, ani_class cls, const char *name, ani_int *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的长整型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的长整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Long)(ani_env *env, ani_class cls, const char *name, ani_long *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的单精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的单精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Float)(ani_env *env, ani_class cls, const char *name, ani_float *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的双精度浮点型数据。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的双精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Double)(ani_env *env, ani_class cls, const char *name, ani_double *result);

    /**
     * @brief 通过名称从类中获取指定静态字段的引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_GetStaticFieldByName_Ref)(ani_env *env, ani_class cls, const char *name, ani_ref *result);

    /**
     * @brief 通过字段名称给指定类的静态字段设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Boolean)(ani_env *env, ani_class cls, const char *name, ani_boolean value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Char)(ani_env *env, ani_class cls, const char *name, ani_char value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Byte)(ani_env *env, ani_class cls, const char *name, ani_byte value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Short)(ani_env *env, ani_class cls, const char *name, ani_short value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Int)(ani_env *env, ani_class cls, const char *name, ani_int value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Long)(ani_env *env, ani_class cls, const char *name, ani_long value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Float)(ani_env *env, ani_class cls, const char *name, ani_float value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Double)(ani_env *env, ani_class cls, const char *name, ani_double value);

    /**
     * @brief 通过字段名称给指定类的静态字段设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_SetStaticFieldByName_Ref)(ani_env *env, ani_class cls, const char *name, ani_ref value);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Boolean)(ani_env *env, ani_class cls, ani_static_method method,
                                                 ani_boolean *result, ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Boolean_A)(ani_env *env, ani_class cls, ani_static_method method,
                                                   ani_boolean *result, const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Boolean_V)(ani_env *env, ani_class cls, ani_static_method method,
                                                   ani_boolean *result, va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Char)(ani_env *env, ani_class cls, ani_static_method method, ani_char *result,
                                              ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Char_A)(ani_env *env, ani_class cls, ani_static_method method, ani_char *result,
                                                const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Char_V)(ani_env *env, ani_class cls, ani_static_method method, ani_char *result,
                                                va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Byte)(ani_env *env, ani_class cls, ani_static_method method, ani_byte *result,
                                              ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Byte_A)(ani_env *env, ani_class cls, ani_static_method method, ani_byte *result,
                                                const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Byte_V)(ani_env *env, ani_class cls, ani_static_method method, ani_byte *result,
                                                va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Short)(ani_env *env, ani_class cls, ani_static_method method, ani_short *result,
                                               ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Short_A)(ani_env *env, ani_class cls, ani_static_method method,
                                                 ani_short *result, const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Short_V)(ani_env *env, ani_class cls, ani_static_method method,
                                                 ani_short *result, va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Int)(ani_env *env, ani_class cls, ani_static_method method, ani_int *result,
                                             ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Int_A)(ani_env *env, ani_class cls, ani_static_method method, ani_int *result,
                                               const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Int_V)(ani_env *env, ani_class cls, ani_static_method method, ani_int *result,
                                               va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Long)(ani_env *env, ani_class cls, ani_static_method method, ani_long *result,
                                              ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Long_A)(ani_env *env, ani_class cls, ani_static_method method, ani_long *result,
                                                const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Long_V)(ani_env *env, ani_class cls, ani_static_method method, ani_long *result,
                                                va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Float)(ani_env *env, ani_class cls, ani_static_method method, ani_float *result,
                                               ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Float_A)(ani_env *env, ani_class cls, ani_static_method method,
                                                 ani_float *result, const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Float_V)(ani_env *env, ani_class cls, ani_static_method method,
                                                 ani_float *result, va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Double)(ani_env *env, ani_class cls, ani_static_method method,
                                                ani_double *result, ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Double_A)(ani_env *env, ani_class cls, ani_static_method method,
                                                  ani_double *result, const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Double_V)(ani_env *env, ani_class cls, ani_static_method method,
                                                  ani_double *result, va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取引用型返回值。

     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Ref)(ani_env *env, ani_class cls, ani_static_method method, ani_ref *result,
                                             ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Ref_A)(ani_env *env, ani_class cls, ani_static_method method, ani_ref *result,
                                               const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Ref_V)(ani_env *env, ani_class cls, ani_static_method method, ani_ref *result,
                                               va_list args);

    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Void)(ani_env *env, ani_class cls, ani_static_method method, ...);

    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Void_A)(ani_env *env, ani_class cls, ani_static_method method,
                                                const ani_value *args);

    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethod_Void_V)(ani_env *env, ani_class cls, ani_static_method method, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Boolean)(ani_env *env, ani_class cls, const char *name,
                                                       const char *signature, ani_boolean *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Boolean_A)(ani_env *env, ani_class cls, const char *name,
                                                         const char *signature, ani_boolean *result,
                                                         const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Boolean_V)(ani_env *env, ani_class cls, const char *name,
                                                         const char *signature, ani_boolean *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Char)(ani_env *env, ani_class cls, const char *name,
                                                    const char *signature, ani_char *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Char_A)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_char *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Char_V)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_char *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Byte)(ani_env *env, ani_class cls, const char *name,
                                                    const char *signature, ani_byte *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Byte_A)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_byte *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Byte_V)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_byte *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Short)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_short *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Short_A)(ani_env *env, ani_class cls, const char *name,
                                                       const char *signature, ani_short *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Short_V)(ani_env *env, ani_class cls, const char *name,
                                                       const char *signature, ani_short *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Int)(ani_env *env, ani_class cls, const char *name, const char *signature,
                                                   ani_int *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Int_A)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_int *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Int_V)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_int *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Long)(ani_env *env, ani_class cls, const char *name,
                                                    const char *signature, ani_long *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Long_A)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_long *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Long_V)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_long *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Float)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_float *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Float_A)(ani_env *env, ani_class cls, const char *name,
                                                       const char *signature, ani_float *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Float_V)(ani_env *env, ani_class cls, const char *name,
                                                       const char *signature, ani_float *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Double)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, ani_double *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Double_A)(ani_env *env, ani_class cls, const char *name,
                                                        const char *signature, ani_double *result,
                                                        const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Double_V)(ani_env *env, ani_class cls, const char *name,
                                                        const char *signature, ani_double *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Ref)(ani_env *env, ani_class cls, const char *name, const char *signature,
                                                   ani_ref *result, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Ref_A)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_ref *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Ref_V)(ani_env *env, ani_class cls, const char *name,
                                                     const char *signature, ani_ref *result, va_list args);

    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Void)(ani_env *env, ani_class cls, const char *name,
                                                    const char *signature, ...);

    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Void_A)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, const ani_value *args);

    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_CallStaticMethodByName_Void_V)(ani_env *env, ani_class cls, const char *name,
                                                      const char *signature, va_list args);

    /**
     * @brief 获取对象中指定字段的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field  要从中获取布尔值的字段。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Boolean)(ani_env *env, ani_object object, ani_field field, ani_boolean *result);

    /**
     * @brief 获取对象中指定字段的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取字符值的字段。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Char)(ani_env *env, ani_object object, ani_field field, ani_char *result);

    /**
     * @brief 获取对象中指定字段的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取字节值的字段。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Byte)(ani_env *env, ani_object object, ani_field field, ani_byte *result);

    /**
     * @brief 获取对象中指定字段的短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取短整型数值的字段。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Short)(ani_env *env, ani_object object, ani_field field, ani_short *result);

    /**
     * @brief 获取对象中指定字段的整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取整型数值的字段。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Int)(ani_env *env, ani_object object, ani_field field, ani_int *result);

    /**
     * @brief 获取对象中指定字段的长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取长整型数值的字段。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Long)(ani_env *env, ani_object object, ani_field field, ani_long *result);

    /**
     * @brief 获取对象中指定字段的单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取单精度浮点型数值的字段。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Float)(ani_env *env, ani_object object, ani_field field, ani_float *result);

    /**
     * @brief 获取对象中指定字段的双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取双精度浮点型数值的字段。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Double)(ani_env *env, ani_object object, ani_field field, ani_double *result);

    /**
     * @brief 获取对象中指定字段的引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要从中获取引用值的字段。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetField_Ref)(ani_env *env, ani_object object, ani_field field, ani_ref *result);

    /**
     * @brief 给对象指定字段设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置布尔值的字段。
     * @param value 要赋给该字段的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Boolean)(ani_env *env, ani_object object, ani_field field, ani_boolean value);

    /**
     * @brief 给对象指定字段设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置字符值的字段。
     * @param value 要赋给该字段的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Char)(ani_env *env, ani_object object, ani_field field, ani_char value);

    /**
     * @brief 给对象指定字段设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置字节值的字段。
     * @param value 要赋给该字段的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Byte)(ani_env *env, ani_object object, ani_field field, ani_byte value);

    /**
     * @brief 给对象指定字段设置短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置短整型数值的字段。
     * @param value 要赋给该字段的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Short)(ani_env *env, ani_object object, ani_field field, ani_short value);

    /**
     * @brief 给对象指定字段设置整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置整型数值的字段。
     * @param value 要赋给该字段的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Int)(ani_env *env, ani_object object, ani_field field, ani_int value);

    /**
     * @brief 给对象指定字段设置长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置长整型数值的字段。
     * @param value 要赋给该字段的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Long)(ani_env *env, ani_object object, ani_field field, ani_long value);

    /**
     * @brief 给对象指定字段设置单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置单精度浮点型数值的字段。
     * @param value 要赋给该字段的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Float)(ani_env *env, ani_object object, ani_field field, ani_float value);

    /**
     * @brief 给对象指定字段设置双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置双精度浮点型数值的字段。
     * @param value 要赋给该字段的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Double)(ani_env *env, ani_object object, ani_field field, ani_double value);

    /**
     * @brief 给对象指定字段设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param field 要设置引用值的字段。
     * @param value 要赋给该字段的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetField_Ref)(ani_env *env, ani_object object, ani_field field, ani_ref value);

    /**
     * @brief 根据字段名称获取对象中指定字段的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取布尔值的字段名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Boolean)(ani_env *env, ani_object object, const char *name, ani_boolean *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取字符值的字段名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Char)(ani_env *env, ani_object object, const char *name, ani_char *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取字节值的字段名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Byte)(ani_env *env, ani_object object, const char *name, ani_byte *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取短整型数值的字段名称。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Short)(ani_env *env, ani_object object, const char *name, ani_short *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取整型数值的字段名称。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Int)(ani_env *env, ani_object object, const char *name, ani_int *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取长整型数值的字段名称。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Long)(ani_env *env, ani_object object, const char *name, ani_long *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取单精度浮点型数值的字段名称。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Float)(ani_env *env, ani_object object, const char *name, ani_float *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取双精度浮点型数值的字段名称。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Double)(ani_env *env, ani_object object, const char *name, ani_double *result);

    /**
     * @brief 根据字段名称获取对象中指定字段的引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要从中获取引用值的字段名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetFieldByName_Ref)(ani_env *env, ani_object object, const char *name, ani_ref *result);

    /**
     * @brief 根据字段名称给对象指定字段设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置布尔值的字段名称。
     * @param value 要赋给该字段的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Boolean)(ani_env *env, ani_object object, const char *name, ani_boolean value);

    /**
     * @brief 根据字段名称给对象指定字段设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置字符值的字段名称。
     * @param value 要赋给该字段的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Char)(ani_env *env, ani_object object, const char *name, ani_char value);

    /**
     * @brief 根据字段名称给对象指定字段设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置字节值的字段名称。
     * @param value 要赋给该字段的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Byte)(ani_env *env, ani_object object, const char *name, ani_byte value);

    /**
     * @brief 根据字段名称给对象指定字段设置短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置短整型数值的字段名称。
     * @param value 要赋给该字段的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Short)(ani_env *env, ani_object object, const char *name, ani_short value);

    /**
     * @brief 根据字段名称给对象指定字段设置整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置整型数值的字段名称。
     * @param value 要赋给该字段的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Int)(ani_env *env, ani_object object, const char *name, ani_int value);

    /**
     * @brief 根据字段名称给对象指定字段设置长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置长整型数值的字段名称。
     * @param value 要赋给该字段的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Long)(ani_env *env, ani_object object, const char *name, ani_long value);

    /**
     * @brief 根据字段名称给对象指定字段设置单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置单精度浮点型数值的字段名称。
     * @param value 要赋给该字段的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Float)(ani_env *env, ani_object object, const char *name, ani_float value);

    /**
     * @brief 根据字段名称给对象指定字段设置双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置双精度浮点型数值的字段名称。
     * @param value 要赋给该字段的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Double)(ani_env *env, ani_object object, const char *name, ani_double value);

    /**
     * @brief 根据字段名称给对象指定字段设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该字段的对象。
     * @param name 要设置引用值的字段名称。
     * @param value 要赋给该字段的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetFieldByName_Ref)(ani_env *env, ani_object object, const char *name, ani_ref value);

    /**
     * @brief 根据属性名称获取对象中指定属性的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取布尔值的属性名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Boolean)(ani_env *env, ani_object object, const char *name,
                                                   ani_boolean *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取字符值的属性名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Char)(ani_env *env, ani_object object, const char *name, ani_char *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取字节值的属性名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Byte)(ani_env *env, ani_object object, const char *name, ani_byte *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取短整型数值的属性名称。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Short)(ani_env *env, ani_object object, const char *name, ani_short *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取整型数值的属性名称。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Int)(ani_env *env, ani_object object, const char *name, ani_int *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取长整型数值的属性名称。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Long)(ani_env *env, ani_object object, const char *name, ani_long *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取单精度浮点型数值的属性名称。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Float)(ani_env *env, ani_object object, const char *name, ani_float *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取双精度浮点型数值的属性名称。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Double)(ani_env *env, ani_object object, const char *name,
                                                  ani_double *result);

    /**
     * @brief 根据属性名称获取对象中指定属性的引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要从中获取引用值的属性名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_GetPropertyByName_Ref)(ani_env *env, ani_object object, const char *name, ani_ref *result);

    /**
     * @brief 根据属性名称给对象指定属性设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置布尔值的属性名称。
     * @param value 要赋给该属性的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Boolean)(ani_env *env, ani_object object, const char *name,
                                                   ani_boolean value);

    /**
     * @brief 根据属性名称给对象指定属性设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置字符值的属性名称。
     * @param value 要赋给该属性的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Char)(ani_env *env, ani_object object, const char *name, ani_char value);

    /**
     * @brief 根据属性名称给对象指定属性设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置字节值的属性名称。
     * @param value 要赋给该属性的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Byte)(ani_env *env, ani_object object, const char *name, ani_byte value);

    /**
     * @brief 根据属性名称给对象指定属性设置短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置短整型数值的属性名称。
     * @param value 要赋给该属性的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Short)(ani_env *env, ani_object object, const char *name, ani_short value);

    /**
     * @brief 根据属性名称给对象指定属性设置整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置整型数值的属性名称。
     * @param value 要赋给该属性的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Int)(ani_env *env, ani_object object, const char *name, ani_int value);

    /**
     * @brief 根据属性名称给对象指定属性设置长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置长整型数值的属性名称。
     * @param value 要赋给该属性的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Long)(ani_env *env, ani_object object, const char *name, ani_long value);

    /**
     * @brief 根据属性名称给对象指定属性设置单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置单精度浮点型数值的属性名称。
     * @param value 要赋给该属性的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Float)(ani_env *env, ani_object object, const char *name, ani_float value);

    /**
     * @brief 根据属性名称给对象指定属性设置双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置双精度浮点型数值的属性名称。
     * @param value 要赋给该属性的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Double)(ani_env *env, ani_object object, const char *name, ani_double value);

    /**
     * @brief 根据属性名称给对象指定属性设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 包含该属性的对象。
     * @param name 要设置引用值的属性名称。
     * @param value 要赋给该属性的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_SetPropertyByName_Ref)(ani_env *env, ani_object object, const char *name, ani_ref value);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Boolean)(ani_env *env, ani_object object, ani_method method, ani_boolean *result,
                                            ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Boolean_A)(ani_env *env, ani_object object, ani_method method, ani_boolean *result,
                                              const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Boolean_V)(ani_env *env, ani_object object, ani_method method, ani_boolean *result,
                                              va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Char)(ani_env *env, ani_object object, ani_method method, ani_char *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Char_A)(ani_env *env, ani_object object, ani_method method, ani_char *result,
                                           const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Char_V)(ani_env *env, ani_object object, ani_method method, ani_char *result,
                                           va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Byte)(ani_env *env, ani_object object, ani_method method, ani_byte *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Byte_A)(ani_env *env, ani_object object, ani_method method, ani_byte *result,
                                           const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Byte_V)(ani_env *env, ani_object object, ani_method method, ani_byte *result,
                                           va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Short)(ani_env *env, ani_object object, ani_method method, ani_short *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Short_A)(ani_env *env, ani_object object, ani_method method, ani_short *result,
                                            const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Short_V)(ani_env *env, ani_object object, ani_method method, ani_short *result,
                                            va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Int)(ani_env *env, ani_object object, ani_method method, ani_int *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Int_A)(ani_env *env, ani_object object, ani_method method, ani_int *result,
                                          const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Int_V)(ani_env *env, ani_object object, ani_method method, ani_int *result,
                                          va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Long)(ani_env *env, ani_object object, ani_method method, ani_long *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Long_A)(ani_env *env, ani_object object, ani_method method, ani_long *result,
                                           const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Long_V)(ani_env *env, ani_object object, ani_method method, ani_long *result,
                                           va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Float)(ani_env *env, ani_object object, ani_method method, ani_float *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Float_A)(ani_env *env, ani_object object, ani_method method, ani_float *result,
                                            const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Float_V)(ani_env *env, ani_object object, ani_method method, ani_float *result,
                                            va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Double)(ani_env *env, ani_object object, ani_method method, ani_double *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Double_A)(ani_env *env, ani_object object, ani_method method, ani_double *result,
                                             const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Double_V)(ani_env *env, ani_object object, ani_method method, ani_double *result,
                                             va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Ref)(ani_env *env, ani_object object, ani_method method, ani_ref *result, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Ref_A)(ani_env *env, ani_object object, ani_method method, ani_ref *result,
                                          const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Ref_V)(ani_env *env, ani_object object, ani_method method, ani_ref *result,
                                          va_list args);

    /**
     * @brief 传递可变参数调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Void)(ani_env *env, ani_object object, ani_method method, ...);

    /**
     * @brief 传递参数数组调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Void_A)(ani_env *env, ani_object object, ani_method method, const ani_value *args);

    /**
     * @brief 传递va_list型参数调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethod_Void_V)(ani_env *env, ani_object object, ani_method method, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Boolean)(ani_env *env, ani_object object, const char *name,
                                                  const char *signature, ani_boolean *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Boolean_A)(ani_env *env, ani_object object, const char *name,
                                                    const char *signature, ani_boolean *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Boolean_V)(ani_env *env, ani_object object, const char *name,
                                                    const char *signature, ani_boolean *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Char)(ani_env *env, ani_object object, const char *name, const char *signature,
                                               ani_char *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Char_A)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_char *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Char_V)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_char *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Byte)(ani_env *env, ani_object object, const char *name, const char *signature,
                                               ani_byte *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Byte_A)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_byte *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Byte_V)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_byte *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Short)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_short *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Short_A)(ani_env *env, ani_object object, const char *name,
                                                  const char *signature, ani_short *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Short_V)(ani_env *env, ani_object object, const char *name,
                                                  const char *signature, ani_short *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Int)(ani_env *env, ani_object object, const char *name, const char *signature,
                                              ani_int *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Int_A)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_int *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Int_V)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_int *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Long)(ani_env *env, ani_object object, const char *name, const char *signature,
                                               ani_long *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Long_A)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_long *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Long_V)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_long *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Float)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_float *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Float_A)(ani_env *env, ani_object object, const char *name,
                                                  const char *signature, ani_float *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Float_V)(ani_env *env, ani_object object, const char *name,
                                                  const char *signature, ani_float *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Double)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, ani_double *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Double_A)(ani_env *env, ani_object object, const char *name,
                                                   const char *signature, ani_double *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Double_V)(ani_env *env, ani_object object, const char *name,
                                                   const char *signature, ani_double *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Ref)(ani_env *env, ani_object object, const char *name, const char *signature,
                                              ani_ref *result, ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Ref_A)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_ref *result, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Ref_V)(ani_env *env, ani_object object, const char *name,
                                                const char *signature, ani_ref *result, va_list args);

    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Void)(ani_env *env, ani_object object, const char *name, const char *signature,
                                               ...);

    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Void_A)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, const ani_value *args);

    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Object_CallMethodByName_Void_V)(ani_env *env, ani_object object, const char *name,
                                                 const char *signature, va_list args);

    /**
     * @brief 获取指定元组值中包含的项的个数。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 要获取项数量的元组值。
     * @param result 指向项数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetNumberOfItems)(ani_env *env, ani_tuple_value tuple_value, ani_size *result);

    /**
     * @brief 获取元组值中指定索引位置处项的布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向项的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Boolean)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                             ani_boolean *result);

    /**
     * @brief 获取元组值中指定索引位置处项的字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向布尔型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Char)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_char *result);

    /**
     * @brief 获取元组值中指定索引位置处项的字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向字节型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Byte)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_byte *result);

    /**
     * @brief 获取元组值中指定索引位置处项的短整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向短整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Short)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                           ani_short *result);

    /**
     * @brief 获取元组值中指定索引位置处项的整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Int)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_int *result);

    /**
     * @brief 获取元组值中指定索引位置处项的长整型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向长整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Long)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_long *result);

    /**
     * @brief 获取元组值中指定索引位置处项的单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向单精度浮点型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Float)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                           ani_float *result);

    /**
     * @brief 获取元组值中指定索引位置处项的双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向双精度浮点型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Double)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                            ani_double *result);

    /**
     * @brief 获取元组值中指定索引位置处项的引用型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向引用型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_GetItem_Ref)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_ref *result);

    /**
     * @brief 给元组值中指定索引位置的项设置布尔值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Boolean)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                             ani_boolean value);

    /**
     * @brief 给元组值中指定索引位置的项设置字符值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Char)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_char value);

    /**
     * @brief 给元组值中指定索引位置的项设置字节值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Byte)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_byte value);

    /**
     * @brief 给元组值中指定索引位置的项设置短整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的短整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Short)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_short value);

    /**
     * @brief 给元组值中指定索引位置的项设置整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Int)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_int value);

    /**
     * @brief 给元组值中指定索引位置的项设置长整型值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的长整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Long)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_long value);

    /**
     * @brief 给元组值中指定索引位置的项设置单精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Float)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_float value);

    /**
     * @brief 给元组值中指定索引位置的项设置双精度浮点型数值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Double)(ani_env *env, ani_tuple_value tuple_value, ani_size index,
                                            ani_double value);

    /**
     * @brief 给元组值中指定索引位置的项设置引用值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*TupleValue_SetItem_Ref)(ani_env *env, ani_tuple_value tuple_value, ani_size index, ani_ref value);

    /**
     * @brief 通过局部引用创建一个全局引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要转换为全局引用的局部引用。
     * @param result 指向创建的全局引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GlobalReference_Create)(ani_env *env, ani_ref ref, ani_ref *result);

    /**
     * @brief 删除指定的全局引用，并释放所有关联的资源。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param gref 要删除的全局引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*GlobalReference_Delete)(ani_env *env, ani_ref gref);

    /**
     * @brief 通过局部引用创建一个弱引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要转换为弱引用的局部引用。
     * @param result 指向创建的弱引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*WeakReference_Create)(ani_env *env, ani_ref ref, ani_wref *result);

    /**
     * @brief 删除指定的弱引用，并释放所有关联的资源。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param wref 要删除的弱引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*WeakReference_Delete)(ani_env *env, ani_wref wref);

    /**
     * @brief 获取与指定弱引用关联的局部引用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param wref 要查询的弱引用。
     * @param was_released_result 表明该弱引用是否已被垃圾回收的布尔型标志。
     * @param ref_result 指向得到的局部引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*WeakReference_GetReference)(ani_env *env, ani_wref wref, ani_boolean *was_released_result,
                                             ani_ref *ref_result);

    /**
     * @brief 创建一个具有指定长度的新数组缓冲区，并返回存储已分配数据的指针。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param length  数组缓冲区的长度（以字节为单位）。
     * @param data_result 用于存储数组缓冲区已分配数据的指针。
     * @param arraybuffer_result 用于存储创建的数组缓冲区对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*CreateArrayBuffer)(ani_env *env, size_t length, void **data_result,
                                    ani_arraybuffer *arraybuffer_result);

    /**
     * @brief 获取指定数组缓冲区的数据指针和长度。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param arraybuffer 要查询的数组缓冲区。
     * @param data_result 指向数组缓冲区数据的指针。
     * @param length_result 指向数组缓冲区长度（以字节为单位）的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*ArrayBuffer_GetInfo)(ani_env *env, ani_arraybuffer arraybuffer, void **data_result,
                                      size_t *length_result);

    /**
     * @brief 创建一个新的Promise及其对应的解析器来管理它。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param result_resolver 指向创建的解析器的指针。
     * @param result_promise 指向创建的Promise的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Promise_New)(ani_env *env, ani_resolver *result_resolver, ani_object *result_promise);

    /**
     * @brief 通过关联的解析器解析Promise，并将Promise的then回调函数加入队列。
     *        成功执行后解析器被释放。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param resolver 用于解析其关联的Promise的解析器。
     * @param resolution 用于解析Promise的引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*PromiseResolver_Resolve)(ani_env *env, ani_resolver resolver, ani_ref resolution);

    /**
     * @brief 通过关联的解析器拒绝Promise，并将Promise的catch回调函数加入队列。
     *        成功执行后解析器被释放。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param resolver 用于拒绝其关联Promise的解析器。
     * @param rejection 用于拒绝Promise的错误。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*PromiseResolver_Reject)(ani_env *env, ani_resolver resolver, ani_error rejection);

    /**
     * @brief 检查给定的Any引用是否为指定Any类型的实例。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要检查的引用。
     * @param type 用于比较的类型。
     * @param result 指向布尔型结果的指针（若引用是该类型的实例则为 true，否则为 false）。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_InstanceOf)(ani_env *env, ani_ref ref, ani_ref type, ani_boolean *result);

    /**
     * @brief 根据名称获取给定Any引用的属性值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要从中获取属性的引用。
     * @param name 要获取的属性名称。
     * @param result 指向得到的属性值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_GetProperty)(ani_env *env, ani_ref ref, const char *name, ani_ref *result);

    /**
     * @brief 根据名称为给定的Any引用设置属性值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要在其上设置属性的引用。
     * @param name 要设置的属性名称。
     * @param value 要赋给该属性的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_SetProperty)(ani_env *env, ani_ref ref, const char *name, ani_ref value);

    /**
     * @brief 获取给定的Any引用中指定索引处的元素。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要从中获取元素的Any引用。
     * @param index 要获取的元素的索引值。
     * @param result 指向得到的元素的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_GetByIndex)(ani_env *env, ani_ref ref, ani_size index, ani_ref *result);

    /**
     * @brief 为给定的Any引用指定索引处设置元素值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要设置元素的引用。
     * @param index 要设置的元素的索引。
     * @param value 要赋给指定索引的元素值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_SetByIndex)(ani_env *env, ani_ref ref, ani_size index, ani_ref value);

    /**
     * @brief 使用另一个Any引用作为键，获取指定属性的值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要从中获取属性的引用。
     * @param key 用于访问属性的键引用。
     * @param result 指向得到的属性值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_GetByValue)(ani_env *env, ani_ref ref, ani_ref key, ani_ref *result);

    /**
     * @brief 使用另一个Any引用作为键，设置指定属性的值。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ref 要在其上设置属性的引用。
     * @param key 用于访问属性的键引用。
     * @param value 要赋给指定键对应的属性的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_SetByValue)(ani_env *env, ani_ref ref, ani_ref key, ani_ref value);

    /**
     * @brief 若给定的Any引用表示可调用对象，则将Any引用作为函数调用。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param func 要调用的函数引用。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向函数调用结果的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_Call)(ani_env *env, ani_ref func, ani_size argc, ani_ref *argv, ani_ref *result);

    /**
     * @brief 通过名称调用给定Any引用指定名称的方法。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param self 要在其上调用方法的对象引用。
     * @param name 要调用的方法名称。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向方法调用结果的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_CallMethod)(ani_env *env, ani_ref self, const char *name, ani_size argc, ani_ref *argv,
                                 ani_ref *result);

    /**
     * @brief 使用给定的Any引用作为构造函数和给定的参数创建新对象。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param ctor 构造函数引用。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向创建的对象引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Any_New)(ani_env *env, ani_ref ctor, ani_size argc, ani_ref *argv, ani_ref *result);

    /**
     * @brief 将静态native方法数组绑定到指定的类。
     *
     * @param env 指向ANI环境结构体的指针。
     * @param cls 要绑定native方法的类。
     * @param methods 指向要绑定的静态native方法数组的指针。
     * @param nr_methods 数组中静态native方法的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status (*Class_BindStaticNativeMethods)(ani_env *env, ani_class cls, const ani_native_function *methods,
                                                ani_size nr_methods);
};

// C++ API
/**
 * @brief 定义__ani_vm结构体，提供与ANI虚拟机相关的接口。
 *
 * @since 22
 */
struct __ani_vm {
    /**
     * @brief 指向ANI虚拟机相关接口列表的指针。
     *
     * @since 22
     */
    const struct __ani_vm_api *c_api;

#ifdef __cplusplus
    /**
     * @brief 销毁VM并释放相关资源。
     *
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status DestroyVM()
    {
        return c_api->DestroyVM(this);
    }
    /**
     * @brief 获取ANI环境。
     *
     * @param version ANI版本。
     * @param result 指向获取到的ani_env的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GetEnv(uint32_t version, ani_env **result)
    {
        return c_api->GetEnv(this, version, result);
    }
    /**
     * @brief 将当前线程附加到虚拟机中，使其能够调用ANI接口。
     *
     * @param options 线程附加到虚拟机时传递的参数选项。
     * @param version ANI版本。
     * @param result 附加成功后线程获得的ani_env指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status AttachCurrentThread(const ani_options *options, uint32_t version, ani_env **result)
    {
        return c_api->AttachCurrentThread(this, options, version, result);
    }
    /**
     * @brief 将当前线程从虚拟机分离，释放相关资源。
     *
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status DetachCurrentThread()
    {
        return c_api->DetachCurrentThread(this);
    }
#endif  // __cplusplus
};

/**
 * @brief 定义__ani_env结构体，提供ANI接口。
 *
 * @since 22
 */
struct __ani_env {
    /**
     * @brief 指向ANI接口列表的指针。
     *
     * @since 22
     */
    const struct __ani_interaction_api *c_api;

#ifdef __cplusplus
    /**
     * @brief 获取版本信息。
     *
     * @param result 指向将存储版本信息的变量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GetVersion(uint32_t *result)
    {
        return c_api->GetVersion(this, result);
    }

    /**
     * @brief 获取虚拟机实例。
     *
     * @param result 指向得到的虚拟机实例的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GetVM(ani_vm **result)
    {
        return c_api->GetVM(this, result);
    }

    /**
     * @brief 传递可变参数调用指定的构造方法，创建给定类的新对象。
     * 
     * @param cls 待创建对象的类型。
     * @param ctor 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param ... 传递给构造方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_New(ani_class cls, ani_method ctor, ani_object *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_New_V(this, cls, ctor, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的构造方法，创建给定类的新对象。
     *
     * @param cls 待创建对象的类型。
     * @param ctor 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param args 传递给构造方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_New_A(ani_class cls, ani_method ctor, ani_object *result, const ani_value *args)
    {
        return c_api->Object_New_A(this, cls, ctor, result, args);
    }
    
    /**
     * @brief 传递va_list类型参数调用指定的构造方法，创建给定类的新对象。
     *
     * @param cls 待创建对象的类型。
     * @param method 调用的构造方法。
     * @param result 指向对象返回值的指针。
     * @param args 传递给构造方法的va_list类型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_New_V(ani_class cls, ani_method ctor, ani_object *result, va_list args)
    {
        return c_api->Object_New_V(this, cls, ctor, result, args);
    }
    
    /**
     * @brief 获取指定对象的类型。
     *
     * @param object 待获取类型的对象。
     * @param result 指向获取到的类型的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetType(ani_object object, ani_type *result)
    {
        return c_api->Object_GetType(this, object, result);
    }
    
    /**
     * @brief 检查给定的对象是否为指定类型的实例。
     *
     * @param object 待检查的对象。
     * @param type 用于比较的目标类型（即判断对象是否属于此类型）。
     * @param result 指向布尔型结果的指针。若对象是指定类型的实例，结果为true；否则为false。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_InstanceOf(ani_object object, ani_type type, ani_boolean *result)
    {
        return c_api->Object_InstanceOf(this, object, type, result);
    }
    
    /**
     * @brief 获取指定类型的父类。
     *
     * @param type 需要获取其父类的类型。
     * @param result 指向获取到的父类的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Type_GetSuperClass(ani_type type, ani_class *result)
    {
        return c_api->Type_GetSuperClass(this, type, result);
    }
    
    /**
     * @brief 检查某一类型是否可通过另一类型赋值。
     *
     * @param from_type 源类型（即作为赋值来源的类型）。
     * @param to_type 目标类型（即接收赋值的类型）。
     * @param result 指向表明类型间是否可赋值的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Type_IsAssignableFrom(ani_type from_type, ani_type to_type, ani_boolean *result)
    {
        return c_api->Type_IsAssignableFrom(this, from_type, to_type, result);
    }
    
    /**
     * @brief 根据描述符查找模块。
     *
     * @param module_descriptor 待查找模块的描述符。
     * @param result 指向找到的模块的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FindModule(const char *module_descriptor, ani_module *result)
    {
        return c_api->FindModule(this, module_descriptor, result);
    }
    
    /**
     * @brief 根据描述符查找命名空间。
     *
     * @param namespace_descriptor 待查找命名空间的描述符。
     * @param result 指向找到的命名空间的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FindNamespace(const char *namespace_descriptor, ani_namespace *result)
    {
        return c_api->FindNamespace(this, namespace_descriptor, result);
    }
    
    /**
     * @brief 根据描述符查找类。
     *
     * @param class_descriptor 待查找类的描述符。
     * @param result 指向找到的类的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FindClass(const char *class_descriptor, ani_class *result)
    {
        return c_api->FindClass(this, class_descriptor, result);
    }
    
    /**
     * @brief 根据描述符查找枚举类型。
     *
     * @param enum_descriptor 待查找枚举类型的描述符。
     * @param result 指向找到的枚举类型的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FindEnum(const char *enum_descriptor, ani_enum *result)
    {
        return c_api->FindEnum(this, enum_descriptor, result);
    }
    
    /**
     * @brief 在指定模块内通过函数名称和签名查找函数。
     *
     * @param module 待在其中查找函数的模块。
     * @param name 待查找函数的名称。
     * @param signature 待查找函数的签名。
     * @param result 指向查找到的函数对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Module_FindFunction(ani_module module, const char *name, const char *signature, ani_function *result)
    {
        return c_api->Module_FindFunction(this, module, name, signature, result);
    }
    
    /**
     * @brief 在指定模块内通过变量名称查找变量。
     *
     * @param module 待在其中查找变量的模块。
     * @param name 待查找变量的名称。
     * @param result 指向查找到的变量对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Module_FindVariable(ani_module module, const char *name, ani_variable *result)
    {
        return c_api->Module_FindVariable(this, module, name, result);
    }
    
    /**
     * @brief 在指定命名空间内通过函数名称和签名查找函数。
     *
     * @param ns 待在其中查找函数的命名空间。
     * @param name 待查找函数的名称。
     * @param signature 待查找函数的签名。
     * @param result 指向查找到的函数对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Namespace_FindFunction(ani_namespace ns, const char *name, const char *signature, ani_function *result)
    {
        return c_api->Namespace_FindFunction(this, ns, name, signature, result);
    }
    
    /**
     * @brief 在指定命名空间内通过变量名称查找变量。
     *
     * @param ns 待在其中查找变量的命名空间。
     * @param name 待查找变量的名称。
     * @param result 指向查找到的变量对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Namespace_FindVariable(ani_namespace ns, const char *name, ani_variable *result)
    {
        return c_api->Namespace_FindVariable(this, ns, name, result);
    }
    
    /**
     * @brief 将native函数绑定到指定模块上。
     *
     * @param module native函数将绑定的目标模块。
     * @param functions 指向待绑定的native函数数组的指针。
     * @param nr_functions 数组中native函数的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Module_BindNativeFunctions(ani_module module, const ani_native_function *functions,
                                          ani_size nr_functions)
    {
        return c_api->Module_BindNativeFunctions(this, module, functions, nr_functions);
    }
    
    /**
     * @brief 将native函数数组绑定到指定命名空间上。
     *
     * @param ns native函数将绑定的目标命名空间。
     * @param functions 指向待绑定的native函数数组的指针。
     * @param nr_functions 数组中native函数的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Namespace_BindNativeFunctions(ani_namespace ns, const ani_native_function *functions,
                                             ani_size nr_functions)
    {
        return c_api->Namespace_BindNativeFunctions(this, ns, functions, nr_functions);
    }
    
    /**
     * @brief 将native方法数组绑定到指定类上。
     *
     * @param cls native函数将绑定的目标类。
     * @param methods 指向待绑定的native方法数组的指针。
     * @param nr_methods 数组中native方法的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_BindNativeMethods(ani_class cls, const ani_native_function *methods, ani_size nr_methods)
    {
        return c_api->Class_BindNativeMethods(this, cls, methods, nr_methods);
    }
    
    /**
     * @brief 删除指定的局部引用，以释放相关资源。
     *
     * @param lref 待删除的引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_Delete(ani_ref lref)
    {
        return c_api->Reference_Delete(this, lref);
    }
    
    /**
     * @brief 检查并确保能够创建指定数量的局部引用，以确保有足够的局部引用可用。
     *
     * @param nr_refs 需确保可用性的局部引用数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnsureEnoughReferences(ani_size nr_refs)
    {
        return c_api->EnsureEnoughReferences(this, nr_refs);
    }
    
    /**
     * @brief 创建一个具有指定容量的引用局部作用域。
     *
     * @param nr_refs 此局部作用域中可创建的引用的最大数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status CreateLocalScope(ani_size nr_refs)
    {
        return c_api->CreateLocalScope(this, nr_refs);
    }
    
    /**
     * @brief 销毁当前的局部作用域，并释放该作用域内的所有引用。
     *
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status DestroyLocalScope()
    {
        return c_api->DestroyLocalScope(this);
    }
    
    /**
     * @brief 创建一个具备逃逸功能的引用局部作用域，允许对象从该作用域中逃逸，即对象可在此作用域之外继续被访问或使用。
     *
     * @param nr_refs 此局部作用域中可创建的引用的最大数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status CreateEscapeLocalScope(ani_size nr_refs)
    {
        return c_api->CreateEscapeLocalScope(this, nr_refs);
    }
    
    /**
     * @brief 销毁当前具备逃逸功能的局部作用域，并且允许获取已逃逸的引用。
     *
     * @param ref 指定要逃逸当前作用域的目标引用。
     * @param result 指向从此作用域中逃逸的引用的指针，即将成功逃逸后的引用写入此指针指向的内存地址。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status DestroyEscapeLocalScope(ani_ref ref, ani_ref *result)
    {
        return c_api->DestroyEscapeLocalScope(this, ref, result);
    }
    
    /**
     * @brief 在当前环境中抛出指定的异常。
     *
     * @param err 待抛出的异常。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status ThrowError(ani_error err)
    {
        return c_api->ThrowError(this, err);
    }
    
    /**
     * @brief 判断当前环境中是否存在未处理的异常。
     *
     * @param result 指向布尔型返回值的指针，该布尔值用于表明是否存在未处理的异常。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status ExistUnhandledError(ani_boolean *result)
    {
        return c_api->ExistUnhandledError(this, result);
    }
    
    /**
     * @brief 捕获当前环境中未处理的异常。
     *
     * @param result 指向未处理异常的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GetUnhandledError(ani_error *result)
    {
        return c_api->GetUnhandledError(this, result);
    }
    
    /**
     * @brief 重置当前环境中的错误状态。
     *
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status ResetError()
    {
        return c_api->ResetError(this);
    }
    
    /**
     * @brief 打印当前错误的栈跟踪信息或其他调试信息。
     *
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status DescribeError()
    {
        return c_api->DescribeError(this);
    }
    
    /**
     * @brief 终止程序执行，并显示指定的错误信息。
     *
     * @param message 程序终止执行时显示的错误信息。
     * @return 无返回值；进程会在此函数调用后终止。
     *
     * @since 22
     */
    ani_status Abort(const char *message)
    {
        return c_api->Abort(this, message);
    }
    
    /**
     * @brief 获取一个空引用。
     *
     * @param result 指向获取到的空引用的指针。
     *
     * @since 22
     */
    ani_status GetNull(ani_ref *result)
    {
        return c_api->GetNull(this, result);
    }
    
    /**
     * @brief 获取一个未定义引用。
     *
     * @param result 指向获取到的未定义引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GetUndefined(ani_ref *result)
    {
        return c_api->GetUndefined(this, result);
    }
    
    /**
     * @brief 检查指定的引用是否为空。
     *
     * @param ref 待检查的引用。
     * @param result 表明引用是否为空的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_IsNull(ani_ref ref, ani_boolean *result)
    {
        return c_api->Reference_IsNull(this, ref, result);
    }
    
    /**
     * @brief 检查指定的引用是否为未定义状态。
     *
     * @param ref 待检查的引用。
     * @param result 表明引用是否为未定义状态的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_IsUndefined(ani_ref ref, ani_boolean *result)
    {
        return c_api->Reference_IsUndefined(this, ref, result);
    }
    
    /**
     * @brief 检查指定的引用是否为空或未定义状态。
     *
     * @param ref 待检查的引用。
     * @param result 表明引用是否为空或未定义状态的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_IsNullishValue(ani_ref ref, ani_boolean *result)
    {
        return c_api->Reference_IsNullishValue(this, ref, result);
    }
    
    /**
     * @brief 比较两个引用是否相等。
     *
     * @param ref0 待比较的第一个引用。
     * @param ref1 待比较的第二个引用。
     * @param result 表明两个引用是否相等的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_Equals(ani_ref ref0, ani_ref ref1, ani_boolean *result)
    {
        return c_api->Reference_Equals(this, ref0, ref1, result);
    }
    
    /**
     * @brief 比较两个引用是否严格相等。
     *
     * @param ref0 待比较的第一个引用。
     * @param ref1 待比较的第二个引用。
     * @param result 表明两个引用是否严格相等的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Reference_StrictEquals(ani_ref ref0, ani_ref ref1, ani_boolean *result)
    {
        return c_api->Reference_StrictEquals(this, ref0, ref1, result);
    }
    
    /**
     * @brief 创建一个新的UTF-16字符串。
     *
     * @param utf16_string 指向UTF-16字符串数据的指针。
     * @param utf16_size UTF-16字符串的大小（以代码单元为单位）。
     * @param result 指向创建的新字符串的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_NewUTF16(const uint16_t *utf16_string, ani_size utf16_size, ani_string *result)
    {
        return c_api->String_NewUTF16(this, utf16_string, utf16_size, result);
    }
    
    /**
     * @brief 获取指定UTF-16字符串的长度（以代码单元为单位）。
     *
     * @param string 要测量长度的字符串对象。
     * @param result 指向获取到的字符串长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF16Size(ani_string string, ani_size *result)
    {
        return c_api->String_GetUTF16Size(this, string, result);
    }
    
    /**
     * @brief 获取指定字符串的UTF-16编码数据，存储到指定的缓冲区中。
     *
     * @param string 要从中获取数据的字符串。
     * @param utf16_buffer 存储UTF-16编码数据的输出缓冲区。
     * @param utf16_buffer_size 输出缓冲区的容量（以代码单元为单位）。
     * @param result 用于存储已写入的代码单元数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF16(ani_string string, uint16_t *utf16_buffer, ani_size utf16_buffer_size, ani_size *result)
    {
        return c_api->String_GetUTF16(this, string, utf16_buffer, utf16_buffer_size, result);
    }
    
    /**
     * @brief 获取UTF-16字符串的子串，存储到指定的缓冲区中。
     *
     * @param string 要从中获取数据的字符串。
     * @param substr_offset 子串的起始偏移量。
     * @param substr_size 子串的大小（以代码单元为单位）。
     * @param utf16_buffer 存储子串的输出缓冲区。
     * @param utf16_buffer_size 缓冲区的大小（以代码单元为单位）。
     * @param result 用于存储已写入的代码单元数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF16SubString(ani_string string, ani_size substr_offset, ani_size substr_size,
                                        uint16_t *utf16_buffer, ani_size utf16_buffer_size, ani_size *result)
    {
        return c_api->String_GetUTF16SubString(this, string, substr_offset, substr_size, utf16_buffer,
                                               utf16_buffer_size, result);
    }
    
    /**
     * @brief 创建一个新的UTF-8字符串。
     *
     * @param utf8_string 指向UTF-8字符串数据的指针。
     * @param utf8_size UTF-8字符串的大小（以字节为单位）。
     * @param result 指向创建的新字符串的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_NewUTF8(const char *utf8_string, ani_size utf8_size, ani_string *result)
    {
        return c_api->String_NewUTF8(this, utf8_string, utf8_size, result);
    }
    
    /**
     * @brief 获取指定UTF-8字符串的长度（以字节为单位）。
     *
     * @param string 要测量长度的字符串对象。
     * @param result 指向获取到的字符串长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF8Size(ani_string string, ani_size *result)
    {
        return c_api->String_GetUTF8Size(this, string, result);
    }
    
    /**
     * @brief 获取指定字符串的UTF-8编码数据，复制到指定的缓冲区中。
     *
     * @param string 要从中获取数据的字符串。
     * @param utf8_buffer 存储UTF-8编码数据的输出缓冲区。
     * @param utf8_buffer_size 输出缓冲区的容量（以字节为单位）。
     * @param result 用于存储已写入的字节数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF8(ani_string string, char *utf8_buffer, ani_size utf8_buffer_size, ani_size *result)
    {
        return c_api->String_GetUTF8(this, string, utf8_buffer, utf8_buffer_size, result);
    }
    
    /**
     * @brief 获取UTF-8字符串的子串，存储到指定的缓冲区中。
     *
     * @param string 要从中获取数据的字符串。
     * @param substr_offset 子串的起始偏移量。
     * @param substr_size 子串的大小（以字节为单位）。
     * @param utf8_buffer 存储子串的输出缓冲区。
     * @param utf8_buffer_size 缓冲区的大小（以字节为单位）。
     * @param result 用于存储已写入的字节数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status String_GetUTF8SubString(ani_string string, ani_size substr_offset, ani_size substr_size,
                                       char *utf8_buffer, ani_size utf8_buffer_size, ani_size *result)
    {
        return c_api->String_GetUTF8SubString(this, string, substr_offset, substr_size, utf8_buffer, utf8_buffer_size,
                                              result);
    }
    
    /**
     * @brief 获取指定数组的长度，获取过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param array 待获取长度的数组。
     * @param result 指向获取到的数组长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_GetLength(ani_array array, ani_size *result)
    {
        return c_api->Array_GetLength(this, array, result);
    }
    
    /**
     * @brief 创建一个指定长度的新数组。
     *
     * @param length 要创建的数组的初始长度。
     * @param initial_element 用于初始化数组的元素。
     * @param result 指向创建的数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_New(ani_size length, ani_ref initial_element, ani_array *result)
    {
        return c_api->Array_New(this, length, initial_element, result);
    }
    
    /**
     * @brief 在数组的指定索引处设置元素值，设置过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param array 要设置元素值的数组对象。
     * @param index 要设置元素值的索引位置。
     * @param ref 要设置的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_Set(ani_array array, ani_size index, ani_ref ref)
    {
        return c_api->Array_Set(this, array, index, ref);
    }
    
    /**
     * @brief 从数组的指定索引位置获取元素值，获取过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param array 要获取元素值的数组。
     * @param index 要获取元素的索引位置。
     * @param result 指向获取到的元素值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_Get(ani_array array, ani_size index, ani_ref *result)
    {
        return c_api->Array_Get(this, array, index, result);
    }
    
    /**
     * @brief 向数组末尾添加元素，添加过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param array 要添加元素的数组。
     * @param ref 要添加到数组末尾的元素值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_Push(ani_array array, ani_ref ref)
    {
        return c_api->Array_Push(this, array, ref);
    }
    
    /**
     * @brief 移除数组的最后一个元素并返回该元素值，移除过程中会考虑此数组的托管方法可能存在重写的情况。
     *
     * @param array 要移除最后一个元素的数组。
     * @param result 指向移除的元素的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Array_Pop(ani_array array, ani_ref *result)
    {
        return c_api->Array_Pop(this, array, result);
    }
    
    /**
     * @brief 获取指定定长数组的长度。
     *
     * @param array 要获取长度的定长数组对象。
     * @param result 指向定长数组长度的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetLength(ani_fixedarray array, ani_size *result)
    {
        return c_api->FixedArray_GetLength(this, array, result);
    }
    
    /**
     * @brief 创建一个指定长度的布尔型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Boolean(ani_size length, ani_fixedarray_boolean *result)
    {
        return c_api->FixedArray_New_Boolean(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的字符型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Char(ani_size length, ani_fixedarray_char *result)
    {
        return c_api->FixedArray_New_Char(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的字节型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Byte(ani_size length, ani_fixedarray_byte *result)
    {
        return c_api->FixedArray_New_Byte(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的短整型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Short(ani_size length, ani_fixedarray_short *result)
    {
        return c_api->FixedArray_New_Short(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的整型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Int(ani_size length, ani_fixedarray_int *result)
    {
        return c_api->FixedArray_New_Int(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的长整型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Long(ani_size length, ani_fixedarray_long *result)
    {
        return c_api->FixedArray_New_Long(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的单精度浮点型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Float(ani_size length, ani_fixedarray_float *result)
    {
        return c_api->FixedArray_New_Float(this, length, result);
    }
    
    /**
     * @brief 创建一个指定长度的双精度浮点型定长数组。
     *
     * @param length 要创建的定长数组的长度。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Double(ani_size length, ani_fixedarray_double *result)
    {
        return c_api->FixedArray_New_Double(this, length, result);
    }
    
    /**
     * @brief 获取布尔型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的布尔型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的布尔型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Boolean(ani_fixedarray_boolean array, ani_size offset, ani_size length,
                                            ani_boolean *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Boolean(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取字符型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的字符型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的字符型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Char(ani_fixedarray_char array, ani_size offset, ani_size length,
                                         ani_char *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Char(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取字节型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的字节型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的字节型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Byte(ani_fixedarray_byte array, ani_size offset, ani_size length,
                                         ani_byte *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Byte(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取短整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的短整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的短整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Short(ani_fixedarray_short array, ani_size offset, ani_size length,
                                          ani_short *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Short(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Int(ani_fixedarray_int array, ani_size offset, ani_size length,
                                        ani_int *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Int(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取长整型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的长整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的长整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Long(ani_fixedarray_long array, ani_size offset, ani_size length,
                                         ani_long *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Long(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取单精度浮点型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的单精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的单精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Float(ani_fixedarray_float array, ani_size offset, ani_size length,
                                          ani_float *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Float(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 获取双精度浮点型定长数组指定区域的数据，并存储到native缓冲区中。
     *
     * @param array 要从中获取数据的双精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要获取的元素数量。
     * @param native_buffer 存储获取到的双精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_GetRegion_Double(ani_fixedarray_double array, ani_size offset, ani_size length,
                                           ani_double *native_buffer)
    {
        return c_api->FixedArray_GetRegion_Double(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到布尔型定长数组的指定区域。
     *
     * @param array 要设置数据的布尔型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的布尔型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Boolean(ani_fixedarray_boolean array, ani_size offset, ani_size length,
                                            const ani_boolean *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Boolean(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到字符型定长数组的指定区域。
     *
     * @param array 要设置数据的字符型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的字符型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Char(ani_fixedarray_char array, ani_size offset, ani_size length,
                                         const ani_char *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Char(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到字节型定长数组的指定区域。
     *
     * @param array 要设置数据的字节型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的字节型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Byte(ani_fixedarray_byte array, ani_size offset, ani_size length,
                                         const ani_byte *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Byte(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到短整型定长数组的指定区域。
     *
     * @param array 要设置数据的短整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的短整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Short(ani_fixedarray_short array, ani_size offset, ani_size length,
                                          const ani_short *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Short(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到整型定长数组的指定区域。
     *
     * @param array 要设置数据的整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Int(ani_fixedarray_int array, ani_size offset, ani_size length,
                                        const ani_int *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Int(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到长整型定长数组的指定区域。
     *
     * @param array 要设置数据的长整型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的长整型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Long(ani_fixedarray_long array, ani_size offset, ani_size length,
                                         const ani_long *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Long(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到单精度浮点型定长数组的指定区域。
     *
     * @param array 要设置数据的单精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的单精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Float(ani_fixedarray_float array, ani_size offset, ani_size length,
                                          const ani_float *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Float(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 将native缓冲区中的数据设置到双精度浮点型定长数组的指定区域。
     *
     * @param array 要设置数据的双精度浮点型定长数组。
     * @param offset 区域起始偏移量。
     * @param length 要设置的元素数量。
     * @param native_buffer 包含要设置的双精度浮点型数据的native缓冲区。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_SetRegion_Double(ani_fixedarray_double array, ani_size offset, ani_size length,
                                           const ani_double *native_buffer)
    {
        return c_api->FixedArray_SetRegion_Double(this, array, offset, length, native_buffer);
    }
    
    /**
     * @brief 创建一个指定长度的引用型定长数组，可以选择用一个初始元素将其初始化。
     *
     * @param type 定长数组元素的类型。
     * @param length 要创建的定长数组的长度。
     * @param initial_element 用于初始化数组的可选元素，可以为空。
     * @param result 指向创建的定长数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_New_Ref(ani_type type, ani_size length, ani_ref initial_element, ani_fixedarray_ref *result)
    {
        return c_api->FixedArray_New_Ref(this, type, length, initial_element, result);
    }
    
    /**
     * @brief 在引用型定长数组的指定索引位置设置元素值。
     *
     * @param array 要修改的引用型定长数组。
     * @param index 要设置引用的索引位置。
     * @param ref 在指定索引位置要设置的引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_Set_Ref(ani_fixedarray_ref array, ani_size index, ani_ref ref)
    {
        return c_api->FixedArray_Set_Ref(this, array, index, ref);
    }
    
    /**
     * @brief 从引用型定长数组的指定索引位置获取元素值。
     *
     * @param array 要查询的引用型定长数组。
     * @param index 要获取引用的索引位置。
     * @param result 指向获取到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FixedArray_Get_Ref(ani_fixedarray_ref array, ani_size index, ani_ref *result)
    {
        return c_api->FixedArray_Get_Ref(this, array, index, result);
    }
    
    /**
     * @brief 在指定的枚举类中根据名称获取对应的枚举项。
     *
     * @param enm 要搜索的枚举类型。
     * @param name 要获取的枚举项名称。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Enum_GetEnumItemByName(ani_enum enm, const char *name, ani_enum_item *result)
    {
        return c_api->Enum_GetEnumItemByName(this, enm, name, result);
    }
    
    /**
     * @brief 在指定的枚举类中根据索引值获取对应的枚举项。
     *
     * @param enm 要搜索的枚举类。
     * @param index 要获取的枚举项的索引位置。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Enum_GetEnumItemByIndex(ani_enum enm, ani_size index, ani_enum_item *result)
    {
        return c_api->Enum_GetEnumItemByIndex(this, enm, index, result);
    }
    
    /**
     * @brief 获取指定枚举项所属的枚举类。
     *
     * @param enum_item 要获取的枚举项。
     * @param result 指向获取到的枚举项的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnumItem_GetEnum(ani_enum_item enum_item, ani_enum *result)
    {
        return c_api->EnumItem_GetEnum(this, enum_item, result);
    }
    
    /**
     * @brief 获取枚举项对应的整数值。
     *
     * @param enum_item 要获取对应整数值的枚举项。
     * @param result 指向获取到的枚举项整数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnumItem_GetValue_Int(ani_enum_item enum_item, ani_int *result)
    {
        return c_api->EnumItem_GetValue_Int(this, enum_item, result);
    }
    
    /**
     * @brief 获取枚举项对应的字符串值。
     *
     * @param enum_item 要获取对应字符串值的枚举项。
     * @param result 指向获取到的枚举项字符串值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnumItem_GetValue_String(ani_enum_item enum_item, ani_string *result)
    {
        return c_api->EnumItem_GetValue_String(this, enum_item, result);
    }
    
    /**
     * @brief 获取枚举项对应的名称。
     *
     * @param enum_item 要获取对应名称的枚举项。
     * @param result 指向获取到的枚举项名称的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnumItem_GetName(ani_enum_item enum_item, ani_string *result)
    {
        return c_api->EnumItem_GetName(this, enum_item, result);
    }
    
    /**
     * @brief 获取枚举项对应的索引值。
     *
     * @param enum_item 要获取对应索引值的枚举项。
     * @param result 指向获取到的枚举项索引值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status EnumItem_GetIndex(ani_enum_item enum_item, ani_size *result)
    {
        return c_api->EnumItem_GetIndex(this, enum_item, result);
    }
    
    /**
     * @brief 通过指定的参数调用函数对象（函数或可调用对象）。
     *
     * @param fn 要调用的函数对象。
     * @param argc 传递给函数对象的参数数量。
     * @param argv 指向待传递的参数引用数组的指针。如果argc为0，argv可以为null。
     * @param result 指向调用结果的地址，不能为null。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status FunctionalObject_Call(ani_fn_object fn, ani_size argc, ani_ref *argv, ani_ref *result)
    {
        return c_api->FunctionalObject_Call(this, fn, argc, argv, result);
    }
    
    /**
     * @brief 给指定的变量设置一个布尔值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Boolean(ani_variable variable, ani_boolean value)
    {
        return c_api->Variable_SetValue_Boolean(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个字符值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Char(ani_variable variable, ani_char value)
    {
        return c_api->Variable_SetValue_Char(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个字节值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Byte(ani_variable variable, ani_byte value)
    {
        return c_api->Variable_SetValue_Byte(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个短整型值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的短整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Short(ani_variable variable, ani_short value)
    {
        return c_api->Variable_SetValue_Short(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个整型值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Int(ani_variable variable, ani_int value)
    {
        return c_api->Variable_SetValue_Int(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个长整型值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的长整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Long(ani_variable variable, ani_long value)
    {
        return c_api->Variable_SetValue_Long(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个单精度浮点型数值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的单精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Float(ani_variable variable, ani_float value)
    {
        return c_api->Variable_SetValue_Float(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个双精度浮点型数值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的双精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Double(ani_variable variable, ani_double value)
    {
        return c_api->Variable_SetValue_Double(this, variable, value);
    }
    
    /**
     * @brief 给指定的变量设置一个引用值。
     *
     * @param variable 要修改的变量。
     * @param value 要赋给变量的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_SetValue_Ref(ani_variable variable, ani_ref value)
    {
        return c_api->Variable_SetValue_Ref(this, variable, value);
    }
    
    /**
     * @brief 获取指定变量的布尔值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Boolean(ani_variable variable, ani_boolean *result)
    {
        return c_api->Variable_GetValue_Boolean(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的字符值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Char(ani_variable variable, ani_char *result)
    {
        return c_api->Variable_GetValue_Char(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的字节值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Byte(ani_variable variable, ani_byte *result)
    {
        return c_api->Variable_GetValue_Byte(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的短整型数值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Short(ani_variable variable, ani_short *result)
    {
        return c_api->Variable_GetValue_Short(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的整型数值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Int(ani_variable variable, ani_int *result)
    {
        return c_api->Variable_GetValue_Int(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的长整型数值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Long(ani_variable variable, ani_long *result)
    {
        return c_api->Variable_GetValue_Long(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的单精度浮点型数值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Float(ani_variable variable, ani_float *result)
    {
        return c_api->Variable_GetValue_Float(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的双精度浮点型数值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Double(ani_variable variable, ani_double *result)
    {
        return c_api->Variable_GetValue_Double(this, variable, result);
    }
    
    /**
     * @brief 获取指定变量的引用值。
     *
     * @param variable 要查询的变量。
     * @param result 指向获取到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Variable_GetValue_Ref(ani_variable variable, ani_ref *result)
    {
        return c_api->Variable_GetValue_Ref(this, variable, result);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取布尔型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给函数的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Boolean(ani_function fn, ani_boolean *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Boolean_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取布尔型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Boolean_A(ani_function fn, ani_boolean *result, const ani_value *args)
    {
        return c_api->Function_Call_Boolean_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取布尔型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Boolean_V(ani_function fn, ani_boolean *result, va_list args)
    {
        return c_api->Function_Call_Boolean_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取字符型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Char(ani_function fn, ani_char *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Char_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取字符型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Char_A(ani_function fn, ani_char *result, const ani_value *args)
    {
        return c_api->Function_Call_Char_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取字符型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Char_V(ani_function fn, ani_char *result, va_list args)
    {
        return c_api->Function_Call_Char_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取字节型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Byte(ani_function fn, ani_byte *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Byte_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取字节型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Byte_A(ani_function fn, ani_byte *result, const ani_value *args)
    {
        return c_api->Function_Call_Byte_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取字节型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Byte_V(ani_function fn, ani_byte *result, va_list args)
    {
        return c_api->Function_Call_Byte_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取短整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Short(ani_function fn, ani_short *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Short_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取短整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Short_A(ani_function fn, ani_short *result, const ani_value *args)
    {
        return c_api->Function_Call_Short_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取短整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Short_V(ani_function fn, ani_short *result, va_list args)
    {
        return c_api->Function_Call_Short_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Int(ani_function fn, ani_int *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Int_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Int_A(ani_function fn, ani_int *result, const ani_value *args)
    {
        return c_api->Function_Call_Int_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Int_V(ani_function fn, ani_int *result, va_list args)
    {
        return c_api->Function_Call_Int_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取长整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Long(ani_function fn, ani_long *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Long_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取长整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Long_A(ani_function fn, ani_long *result, const ani_value *args)
    {
        return c_api->Function_Call_Long_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取长整型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Long_V(ani_function fn, ani_long *result, va_list args)
    {
        return c_api->Function_Call_Long_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Float(ani_function fn, ani_float *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Float_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Float_A(ani_function fn, ani_float *result, const ani_value *args)
    {
        return c_api->Function_Call_Float_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取单精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Float_V(ani_function fn, ani_float *result, va_list args)
    {
        return c_api->Function_Call_Float_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Double(ani_function fn, ani_double *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Double_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Double_A(ani_function fn, ani_double *result, const ani_value *args)
    {
        return c_api->Function_Call_Double_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取双精度浮点型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Double_V(ani_function fn, ani_double *result, va_list args)
    {
        return c_api->Function_Call_Double_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，并获取引用型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Ref(ani_function fn, ani_ref *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Function_Call_Ref_V(this, fn, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，并获取引用型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Ref_A(ani_function fn, ani_ref *result, const ani_value *args)
    {
        return c_api->Function_Call_Ref_A(this, fn, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，并获取引用型返回值。
     *
     * @param fn 要调用的函数。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Ref_V(ani_function fn, ani_ref *result, va_list args)
    {
        return c_api->Function_Call_Ref_V(this, fn, result, args);
    }
    
    /**
     * @brief 传递可变参数调用指定的函数，返回值为空。
     *
     * @param fn 要调用的函数。
     * @param ... 传递给函数的可变参数
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Void(ani_function fn, ...)
    {
        va_list args;
        va_start(args, fn);
        ani_status status = c_api->Function_Call_Void_V(this, fn, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用指定的函数，返回值为空。
     *
     * @param fn 要调用的函数。
     * @param args 指向传递给函数的参数数组的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Void_A(ani_function fn, const ani_value *args)
    {
        return c_api->Function_Call_Void_A(this, fn, args);
    }
    
    /**
     * @brief 传递va_list型参数调用指定的函数，返回值为空。
     *
     * @param fn 要调用的函数。
     * @param args 包含要传递给该函数的参数的va_list类型变量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Function_Call_Void_V(ani_function fn, va_list args)
    {
        return c_api->Function_Call_Void_V(this, fn, args);
    }
    
    /**
     * @brief 根据名称查找字段。
     *
     * @param cls 要查询的类。
     * @param name 要查找的字段名称。
     * @param result 指向查找到的字段的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindField(ani_class cls, const char *name, ani_field *result)
    {
        return c_api->Class_FindField(this, cls, name, result);
    }
    
    /**
     * @brief 根据名称查找静态字段。
     *
     * @param cls 要查询的类。
     * @param name 要查找的静态字段名称。
     * @param result 指向查找到的静态字段的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindStaticField(ani_class cls, const char *name, ani_static_field *result)
    {
        return c_api->Class_FindStaticField(this, cls, name, result);
    }
    
    /**
     * @brief 根据名称和签名查找方法。
     *
     * @param cls 要查询的类。
     * @param name 要查找的方法名称。
     * @param signature 要查找的方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindMethod(ani_class cls, const char *name, const char *signature, ani_method *result)
    {
        return c_api->Class_FindMethod(this, cls, name, signature, result);
    }
    
    /**
     * @brief 根据名称和签名查找静态方法。
     *
     * @param cls 要查询的类。
     * @param name 要查找的静态方法名称。
     * @param signature 要查找的静态方法的签名。
     * @param result 指向查找到的静态方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindStaticMethod(ani_class cls, const char *name, const char *signature, ani_static_method *result)
    {
        return c_api->Class_FindStaticMethod(this, cls, name, signature, result);
    }
    
    /**
     * @brief 根据属性名称查找setter方法。
     *
     * @param cls 要查询的类。
     * @param name 要查找setter方法的属性名称。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindSetter(ani_class cls, const char *name, ani_method *result)
    {
        return c_api->Class_FindSetter(this, cls, name, result);
    }
    
    /**
     * @brief 根据属性名称查找getter方法。
     *
     * @param cls 要查询的类。
     * @param name 要查找getter方法的属性名称。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindGetter(ani_class cls, const char *name, ani_method *result)
    {
        return c_api->Class_FindGetter(this, cls, name, result);
    }
    
    /**
     * @brief 通过签名查找可索引的getter方法。
     *
     * @param cls 要查询的类。
     * @param signature 要查找的可索引getter方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindIndexableGetter(ani_class cls, const char *signature, ani_method *result)
    {
        return c_api->Class_FindIndexableGetter(this, cls, signature, result);
    }
    
    /**
     * @brief 通过签名查找可索引的setter方法。
     *
     * @param cls 要查询的类。
     * @param signature 要查找的可索引setter方法的签名。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindIndexableSetter(ani_class cls, const char *signature, ani_method *result)
    {
        return c_api->Class_FindIndexableSetter(this, cls, signature, result);
    }
    
    /**
     * @brief 查找类的迭代器方法。
     *
     * @param cls 要查询的类。
     * @param result 指向查找到的方法的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_FindIterator(ani_class cls, ani_method *result)
    {
        return c_api->Class_FindIterator(this, cls, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取布尔值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Boolean(ani_class cls, ani_static_field field, ani_boolean *result)
    {
        return c_api->Class_GetStaticField_Boolean(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取字符值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Char(ani_class cls, ani_static_field field, ani_char *result)
    {
        return c_api->Class_GetStaticField_Char(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取字节值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Byte(ani_class cls, ani_static_field field, ani_byte *result)
    {
        return c_api->Class_GetStaticField_Byte(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取短整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的短整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Short(ani_class cls, ani_static_field field, ani_short *result)
    {
        return c_api->Class_GetStaticField_Short(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Int(ani_class cls, ani_static_field field, ani_int *result)
    {
        return c_api->Class_GetStaticField_Int(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取长整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的长整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Long(ani_class cls, ani_static_field field, ani_long *result)
    {
        return c_api->Class_GetStaticField_Long(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取单精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的单精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Float(ani_class cls, ani_static_field field, ani_float *result)
    {
        return c_api->Class_GetStaticField_Float(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取双精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的双精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Double(ani_class cls, ani_static_field field, ani_double *result)
    {
        return c_api->Class_GetStaticField_Double(this, cls, field, result);
    }
    
    /**
     * @brief 从指定类的静态字段中获取引用型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要获取值的静态字段。
     * @param result 指向得到的引用型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticField_Ref(ani_class cls, ani_static_field field, ani_ref *result)
    {
        return c_api->Class_GetStaticField_Ref(this, cls, field, result);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置布尔值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Boolean(ani_class cls, ani_static_field field, ani_boolean value)
    {
        return c_api->Class_SetStaticField_Boolean(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置字符值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Char(ani_class cls, ani_static_field field, ani_char value)
    {
        return c_api->Class_SetStaticField_Char(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置字节值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Byte(ani_class cls, ani_static_field field, ani_byte value)
    {
        return c_api->Class_SetStaticField_Byte(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置短整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的短整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Short(ani_class cls, ani_static_field field, ani_short value)
    {
        return c_api->Class_SetStaticField_Short(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Int(ani_class cls, ani_static_field field, ani_int value)
    {
        return c_api->Class_SetStaticField_Int(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置长整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的长整型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Long(ani_class cls, ani_static_field field, ani_long value)
    {
        return c_api->Class_SetStaticField_Long(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置单精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的单精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Float(ani_class cls, ani_static_field field, ani_float value)
    {
        return c_api->Class_SetStaticField_Float(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置双精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的双精度浮点型数据。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Double(ani_class cls, ani_static_field field, ani_double value)
    {
        return c_api->Class_SetStaticField_Double(this, cls, field, value);
    }
    
    /**
     * @brief 给一个类的指定静态字段设置引用值。
     *
     * @param cls 包含静态字段的类。
     * @param field 要修改的静态字段。
     * @param value 要设置的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticField_Ref(ani_class cls, ani_static_field field, ani_ref value)
    {
        return c_api->Class_SetStaticField_Ref(this, cls, field, value);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的布尔值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Boolean(ani_class cls, const char *name, ani_boolean *result)
    {
        return c_api->Class_GetStaticFieldByName_Boolean(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的字符值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Char(ani_class cls, const char *name, ani_char *result)
    {
        return c_api->Class_GetStaticFieldByName_Char(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的字节值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Byte(ani_class cls, const char *name, ani_byte *result)
    {
        return c_api->Class_GetStaticFieldByName_Byte(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的短整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的短整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Short(ani_class cls, const char *name, ani_short *result)
    {
        return c_api->Class_GetStaticFieldByName_Short(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Int(ani_class cls, const char *name, ani_int *result)
    {
        return c_api->Class_GetStaticFieldByName_Int(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的长整型数据。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的长整型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Long(ani_class cls, const char *name, ani_long *result)
    {
        return c_api->Class_GetStaticFieldByName_Long(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的单精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的单精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Float(ani_class cls, const char *name, ani_float *result)
    {
        return c_api->Class_GetStaticFieldByName_Float(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的双精度浮点型数据。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的双精度浮点型数据的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Double(ani_class cls, const char *name, ani_double *result)
    {
        return c_api->Class_GetStaticFieldByName_Double(this, cls, name, result);
    }
    
    /**
     * @brief 通过名称从类中获取指定静态字段的引用值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要获取值的静态字段的名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_GetStaticFieldByName_Ref(ani_class cls, const char *name, ani_ref *result)
    {
        return c_api->Class_GetStaticFieldByName_Ref(this, cls, name, result);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置布尔值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Boolean(ani_class cls, const char *name, ani_boolean value)
    {
        return c_api->Class_SetStaticFieldByName_Boolean(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置字符值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Char(ani_class cls, const char *name, ani_char value)
    {
        return c_api->Class_SetStaticFieldByName_Char(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置字节值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Byte(ani_class cls, const char *name, ani_byte value)
    {
        return c_api->Class_SetStaticFieldByName_Byte(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置短整型数值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Short(ani_class cls, const char *name, ani_short value)
    {
        return c_api->Class_SetStaticFieldByName_Short(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置整型数值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Int(ani_class cls, const char *name, ani_int value)
    {
        return c_api->Class_SetStaticFieldByName_Int(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置长整型数值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Long(ani_class cls, const char *name, ani_long value)
    {
        return c_api->Class_SetStaticFieldByName_Long(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置单精度浮点型数值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Float(ani_class cls, const char *name, ani_float value)
    {
        return c_api->Class_SetStaticFieldByName_Float(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置双精度浮点型数值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Double(ani_class cls, const char *name, ani_double value)
    {
        return c_api->Class_SetStaticFieldByName_Double(this, cls, name, value);
    }
    
    /**
     * @brief 通过字段名称给指定类的静态字段设置引用值。
     *
     * @param cls 包含静态字段的类。
     * @param name 要修改的静态字段的名称。
     * @param value 要设置的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_SetStaticFieldByName_Ref(ani_class cls, const char *name, ani_ref value)
    {
        return c_api->Class_SetStaticFieldByName_Ref(this, cls, name, value);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Boolean(ani_class cls, ani_static_method method, ani_boolean *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Boolean_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Boolean_A(ani_class cls, ani_static_method method, ani_boolean *result,
                                                const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Boolean_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Boolean_V(ani_class cls, ani_static_method method, ani_boolean *result,
                                                va_list args)
    {
        return c_api->Class_CallStaticMethod_Boolean_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Char(ani_class cls, ani_static_method method, ani_char *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Char_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Char_A(ani_class cls, ani_static_method method, ani_char *result,
                                             const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Char_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Char_V(ani_class cls, ani_static_method method, ani_char *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Char_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Byte(ani_class cls, ani_static_method method, ani_byte *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Byte_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Byte_A(ani_class cls, ani_static_method method, ani_byte *result,
                                             const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Byte_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Byte_V(ani_class cls, ani_static_method method, ani_byte *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Byte_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Short(ani_class cls, ani_static_method method, ani_short *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Short_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Short_A(ani_class cls, ani_static_method method, ani_short *result,
                                              const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Short_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Short_V(ani_class cls, ani_static_method method, ani_short *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Short_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Int(ani_class cls, ani_static_method method, ani_int *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Int_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Int_A(ani_class cls, ani_static_method method, ani_int *result,
                                            const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Int_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Int_V(ani_class cls, ani_static_method method, ani_int *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Int_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Long(ani_class cls, ani_static_method method, ani_long *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Long_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Long_A(ani_class cls, ani_static_method method, ani_long *result,
                                             const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Long_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Long_V(ani_class cls, ani_static_method method, ani_long *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Long_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Float(ani_class cls, ani_static_method method, ani_float *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Float_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Float_A(ani_class cls, ani_static_method method, ani_float *result,
                                              const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Float_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Float_V(ani_class cls, ani_static_method method, ani_float *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Float_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Double(ani_class cls, ani_static_method method, ani_double *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Double_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Double_A(ani_class cls, ani_static_method method, ani_double *result,
                                               const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Double_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Double_V(ani_class cls, ani_static_method method, ani_double *result,
                                               va_list args)
    {
        return c_api->Class_CallStaticMethod_Double_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Ref(ani_class cls, ani_static_method method, ani_ref *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethod_Ref_V(this, cls, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Ref_A(ani_class cls, ani_static_method method, ani_ref *result,
                                            const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Ref_A(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Ref_V(ani_class cls, ani_static_method method, ani_ref *result, va_list args)
    {
        return c_api->Class_CallStaticMethod_Ref_V(this, cls, method, result, args);
    }
    
    /**
     * @brief 使用可变参数调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Void(ani_class cls, ani_static_method method, ...)
    {
        va_list args;
        va_start(args, method);
        ani_status status = c_api->Class_CallStaticMethod_Void_V(this, cls, method, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 使用参数数组调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Void_A(ani_class cls, ani_static_method method, const ani_value *args)
    {
        return c_api->Class_CallStaticMethod_Void_A(this, cls, method, args);
    }
    
    /**
     * @brief 使用va_list型参数调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param method 要调用的静态方法。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethod_Void_V(ani_class cls, ani_static_method method, va_list args)
    {
        return c_api->Class_CallStaticMethod_Void_V(this, cls, method, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Boolean(ani_class cls, const char *name, const char *signature,
                                                    ani_boolean *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Boolean_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Boolean_A(ani_class cls, const char *name, const char *signature,
                                                      ani_boolean *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Boolean_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取布尔型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Boolean_V(ani_class cls, const char *name, const char *signature,
                                                      ani_boolean *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Boolean_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Char(ani_class cls, const char *name, const char *signature,
                                                 ani_char *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Char_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Char_A(ani_class cls, const char *name, const char *signature,
                                                   ani_char *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Char_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取字符型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Char_V(ani_class cls, const char *name, const char *signature,
                                                   ani_char *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Char_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Byte(ani_class cls, const char *name, const char *signature,
                                                 ani_byte *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Byte_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Byte_A(ani_class cls, const char *name, const char *signature,
                                                   ani_byte *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Byte_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取字节型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Byte_V(ani_class cls, const char *name, const char *signature,
                                                   ani_byte *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Byte_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Short(ani_class cls, const char *name, const char *signature,
                                                  ani_short *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Short_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Short_A(ani_class cls, const char *name, const char *signature,
                                                    ani_short *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Short_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取短整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Short_V(ani_class cls, const char *name, const char *signature,
                                                    ani_short *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Short_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Int(ani_class cls, const char *name, const char *signature, ani_int *result,
                                                ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Int_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Int_A(ani_class cls, const char *name, const char *signature,
                                                  ani_int *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Int_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Int_V(ani_class cls, const char *name, const char *signature,
                                                  ani_int *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Int_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Long(ani_class cls, const char *name, const char *signature,
                                                 ani_long *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Long_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Long_A(ani_class cls, const char *name, const char *signature,
                                                   ani_long *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Long_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取长整型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Long_V(ani_class cls, const char *name, const char *signature,
                                                   ani_long *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Long_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Float(ani_class cls, const char *name, const char *signature,
                                                  ani_float *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Float_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Float_A(ani_class cls, const char *name, const char *signature,
                                                    ani_float *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Float_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取单精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Float_V(ani_class cls, const char *name, const char *signature,
                                                    ani_float *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Float_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Double(ani_class cls, const char *name, const char *signature,
                                                   ani_double *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Double_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Double_A(ani_class cls, const char *name, const char *signature,
                                                     ani_double *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Double_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取双精度浮点型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Double_V(ani_class cls, const char *name, const char *signature,
                                                     ani_double *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Double_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Ref(ani_class cls, const char *name, const char *signature, ani_ref *result,
                                                ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Class_CallStaticMethodByName_Ref_V(this, cls, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Ref_A(ani_class cls, const char *name, const char *signature,
                                                  ani_ref *result, const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Ref_A(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，并获取引用型返回值。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param result 指向获取到的引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Ref_V(ani_class cls, const char *name, const char *signature,
                                                  ani_ref *result, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Ref_V(this, cls, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Void(ani_class cls, const char *name, const char *signature, ...)
    {
        va_list args;
        va_start(args, signature);
        ani_status status = c_api->Class_CallStaticMethodByName_Void_V(this, cls, name, signature, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Void_A(ani_class cls, const char *name, const char *signature,
                                                   const ani_value *args)
    {
        return c_api->Class_CallStaticMethodByName_Void_A(this, cls, name, signature, args);
    }
    
    /**
     * @brief 传递va_list型参数根据名称调用一个类中指定的静态方法，返回值为空。
     *
     * @param cls 包含该静态方法的类。
     * @param name 要调用的静态方法的名称。
     * @param signature 要调用的静态方法的签名。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_CallStaticMethodByName_Void_V(ani_class cls, const char *name, const char *signature, va_list args)
    {
        return c_api->Class_CallStaticMethodByName_Void_V(this, cls, name, signature, args);
    }
    
    /**
     * @brief 获取对象中指定字段的布尔值。
     *
     * @param object 包含该字段的对象。
     * @param field  要从中获取布尔值的字段。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Boolean(ani_object object, ani_field field, ani_boolean *result)
    {
        return c_api->Object_GetField_Boolean(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的字符值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取字符值的字段。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Char(ani_object object, ani_field field, ani_char *result)
    {
        return c_api->Object_GetField_Char(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的字节值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取字节值的字段。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Byte(ani_object object, ani_field field, ani_byte *result)
    {
        return c_api->Object_GetField_Byte(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的短整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取短整型数值的字段。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Short(ani_object object, ani_field field, ani_short *result)
    {
        return c_api->Object_GetField_Short(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取整型数值的字段。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Int(ani_object object, ani_field field, ani_int *result)
    {
        return c_api->Object_GetField_Int(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的长整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取长整型数值的字段。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Long(ani_object object, ani_field field, ani_long *result)
    {
        return c_api->Object_GetField_Long(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的单精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取单精度浮点型数值的字段。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Float(ani_object object, ani_field field, ani_float *result)
    {
        return c_api->Object_GetField_Float(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的双精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取双精度浮点型数值的字段。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Double(ani_object object, ani_field field, ani_double *result)
    {
        return c_api->Object_GetField_Double(this, object, field, result);
    }
    
    /**
     * @brief 获取对象中指定字段的引用值。
     *
     * @param object 包含该字段的对象。
     * @param field 要从中获取引用值的字段。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetField_Ref(ani_object object, ani_field field, ani_ref *result)
    {
        return c_api->Object_GetField_Ref(this, object, field, result);
    }
    
    /**
     * @brief 给对象指定字段设置布尔值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置布尔值的字段。
     * @param value 要赋给该字段的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Boolean(ani_object object, ani_field field, ani_boolean value)
    {
        return c_api->Object_SetField_Boolean(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置字符值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置字符值的字段。
     * @param value 要赋给该字段的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Char(ani_object object, ani_field field, ani_char value)
    {
        return c_api->Object_SetField_Char(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置字节值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置字节值的字段。
     * @param value 要赋给该字段的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Byte(ani_object object, ani_field field, ani_byte value)
    {
        return c_api->Object_SetField_Byte(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置短整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置短整型数值的字段。
     * @param value 要赋给该字段的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Short(ani_object object, ani_field field, ani_short value)
    {
        return c_api->Object_SetField_Short(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置整型数值的字段。
     * @param value 要赋给该字段的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Int(ani_object object, ani_field field, ani_int value)
    {
        return c_api->Object_SetField_Int(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置长整型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置长整型数值的字段。
     * @param value 要赋给该字段的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Long(ani_object object, ani_field field, ani_long value)
    {
        return c_api->Object_SetField_Long(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置单精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置单精度浮点型数值的字段。
     * @param value 要赋给该字段的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Float(ani_object object, ani_field field, ani_float value)
    {
        return c_api->Object_SetField_Float(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置双精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置双精度浮点型数值的字段。
     * @param value 要赋给该字段的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Double(ani_object object, ani_field field, ani_double value)
    {
        return c_api->Object_SetField_Double(this, object, field, value);
    }
    
    /**
     * @brief 给对象指定字段设置引用值。
     *
     * @param object 包含该字段的对象。
     * @param field 要设置引用值的字段。
     * @param value 要赋给该字段的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetField_Ref(ani_object object, ani_field field, ani_ref value)
    {
        return c_api->Object_SetField_Ref(this, object, field, value);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的布尔值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取布尔值的字段名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Boolean(ani_object object, const char *name, ani_boolean *result)
    {
        return c_api->Object_GetFieldByName_Boolean(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的字符值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取字符值的字段名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Char(ani_object object, const char *name, ani_char *result)
    {
        return c_api->Object_GetFieldByName_Char(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的字节值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取字节值的字段名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Byte(ani_object object, const char *name, ani_byte *result)
    {
        return c_api->Object_GetFieldByName_Byte(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的短整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取短整型数值的字段名称。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Short(ani_object object, const char *name, ani_short *result)
    {
        return c_api->Object_GetFieldByName_Short(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取整型数值的字段名称。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Int(ani_object object, const char *name, ani_int *result)
    {
        return c_api->Object_GetFieldByName_Int(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的长整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取长整型数值的字段名称。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Long(ani_object object, const char *name, ani_long *result)
    {
        return c_api->Object_GetFieldByName_Long(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的单精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取单精度浮点型数值的字段名称。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Float(ani_object object, const char *name, ani_float *result)
    {
        return c_api->Object_GetFieldByName_Float(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的双精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取双精度浮点型数值的字段名称。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Double(ani_object object, const char *name, ani_double *result)
    {
        return c_api->Object_GetFieldByName_Double(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称获取对象中指定字段的引用值。
     *
     * @param object 包含该字段的对象。
     * @param name 要从中获取引用值的字段名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetFieldByName_Ref(ani_object object, const char *name, ani_ref *result)
    {
        return c_api->Object_GetFieldByName_Ref(this, object, name, result);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置布尔值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置布尔值的字段名称。
     * @param value 要赋给该字段的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Boolean(ani_object object, const char *name, ani_boolean value)
    {
        return c_api->Object_SetFieldByName_Boolean(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置字符值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置字符值的字段名称。
     * @param value 要赋给该字段的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Char(ani_object object, const char *name, ani_char value)
    {
        return c_api->Object_SetFieldByName_Char(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置字节值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置字节值的字段名称。
     * @param value 要赋给该字段的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Byte(ani_object object, const char *name, ani_byte value)
    {
        return c_api->Object_SetFieldByName_Byte(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置短整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置短整型数值的字段名称。
     * @param value 要赋给该字段的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Short(ani_object object, const char *name, ani_short value)
    {
        return c_api->Object_SetFieldByName_Short(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置整型数值的字段名称。
     * @param value 要赋给该字段的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Int(ani_object object, const char *name, ani_int value)
    {
        return c_api->Object_SetFieldByName_Int(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置长整型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置长整型数值的字段名称。
     * @param value 要赋给该字段的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Long(ani_object object, const char *name, ani_long value)
    {
        return c_api->Object_SetFieldByName_Long(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置单精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置单精度浮点型数值的字段名称。
     * @param value 要赋给该字段的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Float(ani_object object, const char *name, ani_float value)
    {
        return c_api->Object_SetFieldByName_Float(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置双精度浮点型数值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置双精度浮点型数值的字段名称。
     * @param value 要赋给该字段的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Double(ani_object object, const char *name, ani_double value)
    {
        return c_api->Object_SetFieldByName_Double(this, object, name, value);
    }
    
    /**
     * @brief 根据字段名称给对象指定字段设置引用值。
     *
     * @param object 包含该字段的对象。
     * @param name 要设置引用值的字段名称。
     * @param value 要赋给该字段的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetFieldByName_Ref(ani_object object, const char *name, ani_ref value)
    {
        return c_api->Object_SetFieldByName_Ref(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的布尔值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取布尔值的属性名称。
     * @param result 指向得到的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Boolean(ani_object object, const char *name, ani_boolean *result)
    {
        return c_api->Object_GetPropertyByName_Boolean(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的字符值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取字符值的属性名称。
     * @param result 指向得到的字符值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Char(ani_object object, const char *name, ani_char *result)
    {
        return c_api->Object_GetPropertyByName_Char(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的字节值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取字节值的属性名称。
     * @param result 指向得到的字节值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Byte(ani_object object, const char *name, ani_byte *result)
    {
        return c_api->Object_GetPropertyByName_Byte(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的短整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取短整型数值的属性名称。
     * @param result 指向得到的短整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Short(ani_object object, const char *name, ani_short *result)
    {
        return c_api->Object_GetPropertyByName_Short(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取整型数值的属性名称。
     * @param result 指向得到的整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Int(ani_object object, const char *name, ani_int *result)
    {
        return c_api->Object_GetPropertyByName_Int(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的长整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取长整型数值的属性名称。
     * @param result 指向得到的长整型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Long(ani_object object, const char *name, ani_long *result)
    {
        return c_api->Object_GetPropertyByName_Long(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的单精度浮点型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取单精度浮点型数值的属性名称。
     * @param result 指向得到的单精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Float(ani_object object, const char *name, ani_float *result)
    {
        return c_api->Object_GetPropertyByName_Float(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的双精度浮点型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取双精度浮点型数值的属性名称。
     * @param result 指向得到的双精度浮点型数值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Double(ani_object object, const char *name, ani_double *result)
    {
        return c_api->Object_GetPropertyByName_Double(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称获取对象中指定属性的引用值。
     *
     * @param object 包含该属性的对象。
     * @param name 要从中获取引用值的属性名称。
     * @param result 指向得到的引用值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_GetPropertyByName_Ref(ani_object object, const char *name, ani_ref *result)
    {
        return c_api->Object_GetPropertyByName_Ref(this, object, name, result);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置布尔值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置布尔值的属性名称。
     * @param value 要赋给该属性的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Boolean(ani_object object, const char *name, ani_boolean value)
    {
        return c_api->Object_SetPropertyByName_Boolean(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置字符值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置字符值的属性名称。
     * @param value 要赋给该属性的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Char(ani_object object, const char *name, ani_char value)
    {
        return c_api->Object_SetPropertyByName_Char(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置字节值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置字节值的属性名称。
     * @param value 要赋给该属性的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Byte(ani_object object, const char *name, ani_byte value)
    {
        return c_api->Object_SetPropertyByName_Byte(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置短整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置短整型数值的属性名称。
     * @param value 要赋给该属性的短整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Short(ani_object object, const char *name, ani_short value)
    {
        return c_api->Object_SetPropertyByName_Short(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置整型数值的属性名称。
     * @param value 要赋给该属性的整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Int(ani_object object, const char *name, ani_int value)
    {
        return c_api->Object_SetPropertyByName_Int(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置长整型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置长整型数值的属性名称。
     * @param value 要赋给该属性的长整型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Long(ani_object object, const char *name, ani_long value)
    {
        return c_api->Object_SetPropertyByName_Long(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置单精度浮点型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置单精度浮点型数值的属性名称。
     * @param value 要赋给该属性的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Float(ani_object object, const char *name, ani_float value)
    {
        return c_api->Object_SetPropertyByName_Float(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置双精度浮点型数值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置双精度浮点型数值的属性名称。
     * @param value 要赋给该属性的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Double(ani_object object, const char *name, ani_double value)
    {
        return c_api->Object_SetPropertyByName_Double(this, object, name, value);
    }
    
    /**
     * @brief 根据属性名称给对象指定属性设置引用值。
     *
     * @param object 包含该属性的对象。
     * @param name 要设置引用值的属性名称。
     * @param value 要赋给该属性的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_SetPropertyByName_Ref(ani_object object, const char *name, ani_ref value)
    {
        return c_api->Object_SetPropertyByName_Ref(this, object, name, value);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Boolean(ani_object object, ani_method method, ani_boolean *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Boolean_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Boolean_A(ani_object object, ani_method method, ani_boolean *result,
                                           const ani_value *args)
    {
        return c_api->Object_CallMethod_Boolean_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Boolean_V(ani_object object, ani_method method, ani_boolean *result, va_list args)
    {
        return c_api->Object_CallMethod_Boolean_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Char(ani_object object, ani_method method, ani_char *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Char_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Char_A(ani_object object, ani_method method, ani_char *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Char_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Char_V(ani_object object, ani_method method, ani_char *result, va_list args)
    {
        return c_api->Object_CallMethod_Char_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Byte(ani_object object, ani_method method, ani_byte *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Byte_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Byte_A(ani_object object, ani_method method, ani_byte *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Byte_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Byte_V(ani_object object, ani_method method, ani_byte *result, va_list args)
    {
        return c_api->Object_CallMethod_Byte_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Short(ani_object object, ani_method method, ani_short *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Short_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Short_A(ani_object object, ani_method method, ani_short *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Short_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Short_V(ani_object object, ani_method method, ani_short *result, va_list args)
    {
        return c_api->Object_CallMethod_Short_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Int(ani_object object, ani_method method, ani_int *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Int_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Int_A(ani_object object, ani_method method, ani_int *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Int_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Int_V(ani_object object, ani_method method, ani_int *result, va_list args)
    {
        return c_api->Object_CallMethod_Int_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Long(ani_object object, ani_method method, ani_long *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Long_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Long_A(ani_object object, ani_method method, ani_long *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Long_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Long_V(ani_object object, ani_method method, ani_long *result, va_list args)
    {
        return c_api->Object_CallMethod_Long_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Float(ani_object object, ani_method method, ani_float *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Float_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Float_A(ani_object object, ani_method method, ani_float *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Float_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Float_V(ani_object object, ani_method method, ani_float *result, va_list args)
    {
        return c_api->Object_CallMethod_Float_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Double(ani_object object, ani_method method, ani_double *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Double_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Double_A(ani_object object, ani_method method, ani_double *result,
                                          const ani_value *args)
    {
        return c_api->Object_CallMethod_Double_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Double_V(ani_object object, ani_method method, ani_double *result, va_list args)
    {
        return c_api->Object_CallMethod_Double_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Ref(ani_object object, ani_method method, ani_ref *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethod_Ref_V(this, object, method, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Ref_A(ani_object object, ani_method method, ani_ref *result, const ani_value *args)
    {
        return c_api->Object_CallMethod_Ref_A(this, object, method, result, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Ref_V(ani_object object, ani_method method, ani_ref *result, va_list args)
    {
        return c_api->Object_CallMethod_Ref_V(this, object, method, result, args);
    }
    
    /**
     * @brief 传递可变参数调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Void(ani_object object, ani_method method, ...)
    {
        va_list args;
        va_start(args, method);
        ani_status status = c_api->Object_CallMethod_Void_V(this, object, method, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Void_A(ani_object object, ani_method method, const ani_value *args)
    {
        return c_api->Object_CallMethod_Void_A(this, object, method, args);
    }
    
    /**
     * @brief 传递va_list型参数调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param method 要调用的方法。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethod_Void_V(ani_object object, ani_method method, va_list args)
    {
        return c_api->Object_CallMethod_Void_V(this, object, method, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Boolean(ani_object object, const char *name, const char *signature,
                                               ani_boolean *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Boolean_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Boolean_A(ani_object object, const char *name, const char *signature,
                                                 ani_boolean *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Boolean_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取布尔型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向布尔型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Boolean_V(ani_object object, const char *name, const char *signature,
                                                 ani_boolean *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Boolean_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Char(ani_object object, const char *name, const char *signature,
                                            ani_char *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Char_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Char_A(ani_object object, const char *name, const char *signature,
                                              ani_char *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Char_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取字符型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字符型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Char_V(ani_object object, const char *name, const char *signature,
                                              ani_char *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Char_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Byte(ani_object object, const char *name, const char *signature,
                                            ani_byte *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Byte_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Byte_A(ani_object object, const char *name, const char *signature,
                                              ani_byte *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Byte_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取字节型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向字节型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Byte_V(ani_object object, const char *name, const char *signature,
                                              ani_byte *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Byte_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Short(ani_object object, const char *name, const char *signature,
                                             ani_short *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Short_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Short_A(ani_object object, const char *name, const char *signature,
                                               ani_short *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Short_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取短整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向短整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Short_V(ani_object object, const char *name, const char *signature,
                                               ani_short *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Short_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Int(ani_object object, const char *name, const char *signature, ani_int *result,
                                           ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Int_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Int_A(ani_object object, const char *name, const char *signature,
                                             ani_int *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Int_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Int_V(ani_object object, const char *name, const char *signature,
                                             ani_int *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Int_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Long(ani_object object, const char *name, const char *signature,
                                            ani_long *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Long_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Long_A(ani_object object, const char *name, const char *signature,
                                              ani_long *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Long_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取长整型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向长整型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Long_V(ani_object object, const char *name, const char *signature,
                                              ani_long *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Long_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Float(ani_object object, const char *name, const char *signature,
                                             ani_float *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Float_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Float_A(ani_object object, const char *name, const char *signature,
                                               ani_float *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Float_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取单精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向单精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Float_V(ani_object object, const char *name, const char *signature,
                                               ani_float *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Float_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Double(ani_object object, const char *name, const char *signature,
                                              ani_double *result, ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Double_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Double_A(ani_object object, const char *name, const char *signature,
                                                ani_double *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Double_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取双精度浮点型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向双精度浮点型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Double_V(ani_object object, const char *name, const char *signature,
                                                ani_double *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Double_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Ref(ani_object object, const char *name, const char *signature, ani_ref *result,
                                           ...)
    {
        va_list args;
        va_start(args, result);
        ani_status status = c_api->Object_CallMethodByName_Ref_V(this, object, name, signature, result, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Ref_A(ani_object object, const char *name, const char *signature,
                                             ani_ref *result, const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Ref_A(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，并获取引用型返回值。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param result 指向引用型返回值的指针。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Ref_V(ani_object object, const char *name, const char *signature,
                                             ani_ref *result, va_list args)
    {
        return c_api->Object_CallMethodByName_Ref_V(this, object, name, signature, result, args);
    }
    
    /**
     * @brief 传递可变参数通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param ... 传递给方法的可变参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Void(ani_object object, const char *name, const char *signature, ...)
    {
        va_list args;
        va_start(args, signature);
        ani_status status = c_api->Object_CallMethodByName_Void_V(this, object, name, signature, args);
        va_end(args);
        return status;
    }
    
    /**
     * @brief 传递参数数组通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param args 传递给方法的参数数组。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Void_A(ani_object object, const char *name, const char *signature,
                                              const ani_value *args)
    {
        return c_api->Object_CallMethodByName_Void_A(this, object, name, signature, args);
    }
    
    /**
     * @brief 传递va_list型参数通过名称和签名调用对象的指定方法，返回值为空。
     *
     * @param object 要调用方法的对象。
     * @param name 要调用的方法名称。
     * @param signature 要调用的方法签名。
     * @param args 传递给方法的va_list型参数。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Object_CallMethodByName_Void_V(ani_object object, const char *name, const char *signature, va_list args)
    {
        return c_api->Object_CallMethodByName_Void_V(this, object, name, signature, args);
    }
    
    /**
     * @brief 获取指定元组值中包含的项的个数。
     *
     * @param tuple_value 要获取项数量的元组值。
     * @param result 指向项数量的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetNumberOfItems(ani_tuple_value tuple_value, ani_size *result)
    {
        return c_api->TupleValue_GetNumberOfItems(this, tuple_value, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的布尔值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向项的布尔值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Boolean(ani_tuple_value tuple_value, ani_size index, ani_boolean *result)
    {
        return c_api->TupleValue_GetItem_Boolean(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的字符值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向布尔型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Char(ani_tuple_value tuple_value, ani_size index, ani_char *result)
    {
        return c_api->TupleValue_GetItem_Char(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的字节值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向字节型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Byte(ani_tuple_value tuple_value, ani_size index, ani_byte *result)
    {
        return c_api->TupleValue_GetItem_Byte(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的短整型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向短整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Short(ani_tuple_value tuple_value, ani_size index, ani_short *result)
    {
        return c_api->TupleValue_GetItem_Short(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的整型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Int(ani_tuple_value tuple_value, ani_size index, ani_int *result)
    {
        return c_api->TupleValue_GetItem_Int(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的长整型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向长整型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Long(ani_tuple_value tuple_value, ani_size index, ani_long *result)
    {
        return c_api->TupleValue_GetItem_Long(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的单精度浮点型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向单精度浮点型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Float(ani_tuple_value tuple_value, ani_size index, ani_float *result)
    {
        return c_api->TupleValue_GetItem_Float(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的双精度浮点型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向双精度浮点型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Double(ani_tuple_value tuple_value, ani_size index, ani_double *result)
    {
        return c_api->TupleValue_GetItem_Double(this, tuple_value, index, result);
    }
    
    /**
     * @brief 获取元组值中指定索引位置处项的引用型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param result 指向引用型返回值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_GetItem_Ref(ani_tuple_value tuple_value, ani_size index, ani_ref *result)
    {
        return c_api->TupleValue_GetItem_Ref(this, tuple_value, index, result);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置布尔值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的布尔值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Boolean(ani_tuple_value tuple_value, ani_size index, ani_boolean value)
    {
        return c_api->TupleValue_SetItem_Boolean(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置字符值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的字符值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Char(ani_tuple_value tuple_value, ani_size index, ani_char value)
    {
        return c_api->TupleValue_SetItem_Char(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置字节值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的字节值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Byte(ani_tuple_value tuple_value, ani_size index, ani_byte value)
    {
        return c_api->TupleValue_SetItem_Byte(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置短整型值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的短整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Short(ani_tuple_value tuple_value, ani_size index, ani_short value)
    {
        return c_api->TupleValue_SetItem_Short(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置整型值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Int(ani_tuple_value tuple_value, ani_size index, ani_int value)
    {
        return c_api->TupleValue_SetItem_Int(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置长整型值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的长整型值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Long(ani_tuple_value tuple_value, ani_size index, ani_long value)
    {
        return c_api->TupleValue_SetItem_Long(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置单精度浮点型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的单精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Float(ani_tuple_value tuple_value, ani_size index, ani_float value)
    {
        return c_api->TupleValue_SetItem_Float(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置双精度浮点型数值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的双精度浮点型数值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Double(ani_tuple_value tuple_value, ani_size index, ani_double value)
    {
        return c_api->TupleValue_SetItem_Double(this, tuple_value, index, value);
    }
    
    /**
     * @brief 给元组值中指定索引位置的项设置引用值。
     *
     * @param tuple_value 包含该项的元组值。
     * @param index 项的索引值。
     * @param value 要赋给该项的引用值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status TupleValue_SetItem_Ref(ani_tuple_value tuple_value, ani_size index, ani_ref value)
    {
        return c_api->TupleValue_SetItem_Ref(this, tuple_value, index, value);
    }
    
    /**
     * @brief 通过局部引用创建一个全局引用。
     *
     * @param ref 要转换为全局引用的局部引用。
     * @param result 指向创建的全局引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GlobalReference_Create(ani_ref ref, ani_ref *result)
    {
        return c_api->GlobalReference_Create(this, ref, result);
    }
    
    /**
     * @brief 删除指定的全局引用，并释放所有关联的资源。
     *
     * @param gref 要删除的全局引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status GlobalReference_Delete(ani_ref ref)
    {
        return c_api->GlobalReference_Delete(this, ref);
    }
    
    /**
     * @brief 通过局部引用创建一个弱引用。
     *
     * @param ref 要转换为弱引用的局部引用。
     * @param result 指向创建的弱引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status WeakReference_Create(ani_ref ref, ani_wref *result)
    {
        return c_api->WeakReference_Create(this, ref, result);
    }
    
    /**
     * @brief 删除指定的弱引用，并释放所有关联的资源。
     *
     * @param wref 要删除的弱引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status WeakReference_Delete(ani_wref wref)
    {
        return c_api->WeakReference_Delete(this, wref);
    }
    
    /**
     * @brief 获取与指定弱引用关联的局部引用。
     *
     * @param wref 要查询的弱引用。
     * @param was_released_result 表明该弱引用是否已被垃圾回收的布尔型标志。
     * @param ref_result 指向得到的局部引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status WeakReference_GetReference(ani_wref wref, ani_boolean *was_released_result, ani_ref *ref_result)
    {
        return c_api->WeakReference_GetReference(this, wref, was_released_result, ref_result);
    }
    
    /**
     * @brief 创建一个具有指定长度的新数组缓冲区，并返回存储已分配数据的指针。
     *
     * @param length  数组缓冲区的长度（以字节为单位）。
     * @param data_result 用于存储数组缓冲区已分配数据的指针。
     * @param arraybuffer_result 用于存储创建的数组缓冲区对象的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status CreateArrayBuffer(size_t length, void **data_result, ani_arraybuffer *arraybuffer_result)
    {
        return c_api->CreateArrayBuffer(this, length, data_result, arraybuffer_result);
    }
    
    /**
     * @brief 获取指定数组缓冲区的数据指针和长度。
     *
     * @param arraybuffer 要查询的数组缓冲区。
     * @param data_result 指向数组缓冲区数据的指针。
     * @param length_result 指向数组缓冲区长度（以字节为单位）的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status ArrayBuffer_GetInfo(ani_arraybuffer arraybuffer, void **data_result, size_t *length_result)
    {
        return c_api->ArrayBuffer_GetInfo(this, arraybuffer, data_result, length_result);
    }
    
    /**
     * @brief 创建一个新的Promise及其对应的解析器来管理它。
     *
     * @param result_resolver 指向创建的解析器的指针。
     * @param result_promise 指向创建的Promise的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Promise_New(ani_resolver *result_resolver, ani_object *result_promise)
    {
        return c_api->Promise_New(this, result_resolver, result_promise);
    }
    
    /**
     * @brief 通过关联的解析器解析Promise，并将Promise的then回调函数加入队列。
     *        成功执行后解析器被释放。
     *
     * @param resolver 用于解析其关联的Promise的解析器。
     * @param resolution 用于解析Promise的引用。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status PromiseResolver_Resolve(ani_resolver resolver, ani_ref resolution)
    {
        return c_api->PromiseResolver_Resolve(this, resolver, resolution);
    }
    
    /**
     * @brief 通过关联的解析器拒绝Promise，并将Promise的catch回调函数加入队列。
     *        成功执行后解析器被释放。
     *
     * @param resolver 用于拒绝其关联Promise的解析器。
     * @param rejection 用于拒绝Promise的错误。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status PromiseResolver_Reject(ani_resolver resolver, ani_error rejection)
    {
        return c_api->PromiseResolver_Reject(this, resolver, rejection);
    }
    
    /**
     * @brief 检查给定的Any引用是否为指定Any类型的实例。
     *
     * @param ref 要检查的引用。
     * @param type 用于比较的类型。
     * @param result 指向布尔型结果的指针（若引用是该类型的实例则为 true，否则为 false）。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_InstanceOf(ani_ref ref, ani_ref type, ani_boolean *result)
    {
        return c_api->Any_InstanceOf(this, ref, type, result);
    }
    
    /**
     * @brief 根据名称获取给定Any引用的属性值。
     *
     * @param ref 要从中获取属性的引用。
     * @param name 要获取的属性名称。
     * @param result 指向得到的属性值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_GetProperty(ani_ref ref, const char *name, ani_ref *result)
    {
        return c_api->Any_GetProperty(this, ref, name, result);
    }
    
    /**
     * @brief 根据名称为给定的Any引用设置属性值。
     *
     * @param ref 要在其上设置属性的引用。
     * @param name 要设置的属性名称。
     * @param value 要赋给该属性的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_SetProperty(ani_ref ref, const char *name, ani_ref value)
    {
        return c_api->Any_SetProperty(this, ref, name, value);
    }
    
    /**
     * @brief 获取给定的Any引用中指定索引处的元素。
     *
     * @param ref 要从中获取元素的Any引用。
     * @param index 要获取的元素的索引值。
     * @param result 指向得到的元素的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_GetByIndex(ani_ref ref, ani_size index, ani_ref *result)
    {
        return c_api->Any_GetByIndex(this, ref, index, result);
    }
    
    /**
     * @brief 为给定的Any引用指定索引处设置元素值。
     *
     * @param ref 要设置元素的引用。
     * @param index 要设置的元素的索引。
     * @param value 要赋给指定索引的元素值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_SetByIndex(ani_ref ref, ani_size index, ani_ref value)
    {
        return c_api->Any_SetByIndex(this, ref, index, value);
    }
    
    /**
     * @brief 使用另一个Any引用作为键，获取指定属性的值。
     *
     * @param ref 要从中获取属性的引用。
     * @param key 用于访问属性的键引用。
     * @param result 指向得到的属性值的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_GetByValue(ani_ref ref, ani_ref key, ani_ref *result)
    {
        return c_api->Any_GetByValue(this, ref, key, result);
    }
    
    /**
     * @brief 使用另一个Any引用作为键，设置指定属性的值。
     *
     * @param ref 要在其上设置属性的引用。
     * @param key 用于访问属性的键引用。
     * @param value 要赋给指定键对应的属性的值。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_SetByValue(ani_ref ref, ani_ref key, ani_ref value)
    {
        return c_api->Any_SetByValue(this, ref, key, value);
    }
    
    /**
     * @brief 若给定的Any引用表示可调用对象，则将Any引用作为函数调用。
     *
     * @param func 要调用的函数引用。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向函数调用结果的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_Call(ani_ref func, ani_size argc, ani_ref *argv, ani_ref *result)
    {
        return c_api->Any_Call(this, func, argc, argv, result);
    }
    
    /**
     * @brief 通过名称调用给定Any引用指定名称的方法。
     *
     * @param self 要在其上调用方法的对象引用。
     * @param name 要调用的方法名称。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向方法调用结果的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_CallMethod(ani_ref self, const char *name, ani_size argc, ani_ref *argv, ani_ref *result)
    {
        return c_api->Any_CallMethod(this, self, name, argc, argv, result);
    }
    
    /**
     * @brief 使用给定的Any引用作为构造函数和给定的参数创建新对象。
     *
     * @param ctor 构造函数引用。
     * @param argc 参数的数量。
     * @param argv 参数引用的数组。
     * @param result 指向创建的对象引用的指针。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Any_New(ani_ref ctor, ani_size argc, ani_ref *argv, ani_ref *result)
    {
        return c_api->Any_New(this, ctor, argc, argv, result);
    }
    
    /**
     * @brief 将静态native方法数组绑定到指定的类。
     *
     * @param cls 要绑定native方法的类。
     * @param methods 指向要绑定的静态native方法数组的指针。
     * @param nr_methods 数组中静态native方法的数量。
     * @return 表明接口调用成功或失败的ani_status类型状态码，ANI_OK表示调用成功。
     *
     * @since 22
     */
    ani_status Class_BindStaticNativeMethods(ani_class cls, const ani_native_function *methods, ani_size nr_methods)
    {
        return c_api->Class_BindStaticNativeMethods(this, cls, methods, nr_methods);
    }
#endif  // __cplusplus
};

// NOLINTEND
#endif  // __ANI_H__
